Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.

Stress test

Stéphane Traumat edited this page Jul 15, 2019 · 51 revisions

Those tests are made with the benchmark docker image.

Stress test :

Build 1 day Comments
Build 551 31 541 blocks -
Build 592 49 280 blocks Neo4j 3.5
Build 595 48 022 blocks -
Build 604 46 973 blocks New neo4j driver
Build 607 48 006 blocks -
Build 822 118 875 blocks Bitcoin core 0.18
Build 827 143 662 blocks -

Old tests

Stress test are made on a Atom with 4G Ram and 1 To of hard drive

Build 1 hour 1 day Comments
Build 386 5 806 blocks 35 390 blocks -
Build 404 5 119 blocks 31 815 blocks -
Build 405 5 848 blocks 38 724 blocks -
Build 413 5 050 blocks 37 454 blocks -
Release 2.0 5 283 blocks 30 829 blocks Slower because transaction are now mandatory with the new neo4j driver
Release 2.1 6 161 blocks 35 416 blocks Moving to neo4j 3.3.4
Build 447 6 146 blocks 43 109 blocks Removed constraint on transaction txid / addresses cache / no depth to retrieve block
Release 2.2 5 746 blocks 36 418 blocks Strange - no diference with build 447

This is the script used to benchmark blockchain2graph :

#!/bin/bash

# Starting.
echo `date`

# Install the application.
sudo service tomcat8 stop
sudo service neo4j stop
sudo rm blockchain2graph.war
sudo rm -rdf /var/lib/tomcat8/logs/*
sudo rm -rdf /var/lib/tomcat8/webapps/*
sudo rm -rdf /var/lib/neo4j/data/
sudo wget -nv -O blockchain2graph.war https://github.com/straumat/blockchain2graph/releases/download/version-2.0/blockchain2graph.war
sudo jar -uf blockchain2graph.war WEB-INF/classes/application.properties
sudo cp blockchain2graph.war /var/lib/tomcat8/webapps

# Starting and configuring neo4j.
sudo service neo4j start
sleep 60s
curl -H "Content-Type: application/json" -X POST -d '{"password":"b2g135!"}' -u neo4j:neo4j http://localhost:7474/user/neo4j/password

# Starting tomcat.
sudo service tomcat8 start

# First benchmark after one hour.
sleep 1h
echo After one hour
cypher-shell -u neo4j -p b2g135! 'MATCH (n:BitcoinBlock) RETURN count(n);'

# Second benchmark after one day.
sleep 23h 
echo After one day
cypher-shell -u neo4j -p b2g135! 'MATCH (n:BitcoinBlock) RETURN count(n);'

To run it, use this command : chmod +x nohup.out;rm nohup.out ; nohup ./perf.sh &

Clone this wiki locally