/neo4j-jmeter-load-tests

Load testing Neo4j queries and procedures with JMeter examples

Apache License 2.0Apache-2.0

How to use JMeter to load test your Neo4j custom procedures / queries

When working with Neo4j, sometimes you need to create custom procedures to handle use cases like advanced permissions, custom traversals, or high performance data import.

JMeter is a popular tool for load testing, and can be used to build complex testing scenarios, with custom ramp up periods, sample data as CSV file, …​

This repository contains help on how to configure and use JMeter to run Neo4j queries through the Bolt protocol.

It uses a custom version of JMeter that handles the bolt protocol, which can be found at https://github.com/graphaware/jmeter/. Check out the build instructions located in the README-bolt.md. We are working with the JMeter team to integrate bolt into the main JMeter codebase, so hopefully, it won’t be necessary to run a custom build in the future. This is natively supported from JMeter 5.2 on. Until it’s released, you can use the lastest nightly build here

Check out the examples directory in this repo, and the introduction video to load testing a procedure with JMeter: https://youtu.be/Zqyeo0iShF4

jmeter

These examples have been created at the occasion of the 2019 Global GraphHack.

Happy load testing! 🚀

Requirements

To run these test plans, you need a running Neo4j database, with APOC extension installed.

If you don’t have a Neo4j database, download a Neo4j Desktop

Then create a new project and add the APOC plugin to it

desktop