memgraph/tests/public_benchmark/ldbc/README.md
Teon Banek 77e574fcc5 Cleanup some errors in ldbc setup scripts
Summary:
Don't require setup_system to run as root, nor apt-get
Implement command_fail for ldbc/setup_dependencies
ldbc.setup_dataset: Find Java on ArchLinux

Reviewers: buda, mferencevic

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D729
2017-09-01 14:13:34 +02:00

2.1 KiB

LDBC benchmarks

How to run the benchmark against Neo4j OR Memgraph?

cd memgraph/tests/public_benchmark/ldbc
./setup_system
./setup_dependencies
./setup_dataset [--scale-factor 1]
./neo [--run] OR ./mg [--run]
./run_benchmark

How to run a specific test?

cd memgraph/tests/public_benchmark/ldbc/ldbc-snb-impls/snb-interactive-neo4j
mvn exec:java -Dexec.mainClass="net.ellitron.ldbcsnbimpls.interactive.neo4j.util.QueryTester" -Dexec.args="shortquery1 933 --repeat=10000 --timeUnits=MICROSECONDS"

Useful terminal commands

How to find out Default Query Limits?

cd memgraph/tests/public_benchmark/ldbc/ldbc_driver
ag "DEFAULT_LIMIT"

How to run test cases?

cd memgraph/tests/public_benchmark/ldbc
neo4j-client --insecure -u "" -p "" -o test_cases/results/short_query_2.oc.out -i test_cases/queries/short_query_2.oc localhost 7687

How to create indexes manually?

cd memgraph/tests/public_benchmark/ldbc
source ve3/bin/activate
./index_creation.py ldbc-snb-impls/snb-interactive-neo4j/scripts/indexCreation.neo4j

Where is and how to use LDBC plotting?

cd memgraph/tests/public_benchmark/ldbc
source ve2/bin/activate
cd memgraph/tests/public_benchmark/ldbc/ldbc_driver/plotting
python make_charts_all_queries_all_metrics.py /path/to/ldbc_driver/results/LDBC-results.json legend_location

TODOs

  1. Run & validate all Short queries + optimize MemGraph performance.
  2. Write the log parser.
  3. Visualize the results.
  4. Run & validate all Update queries + optimize MemGraph performance.
  5. Run apacaci code an compare the results (Do We Need Specialized Graph Database?).
  6. Optimize MemGraph performance.
  7. Scale benchmarks (scale factors 1, 3, 10).
  8. Test against Postgres and make comparison between Neo, Memgraph & Postgres. Latency + Throughput.
  9. Run & validate all queries + optimize MemGraph performance.
  10. Optimize MemGraph spinup time.