event-store-benchmarks
Benchmarks for prooph event-store, (*1)
Requirements
- PHP >= 7.1
- PDO_MySQL Extension
- PDO_PGSQL Extension
For MariaDB you need server vesion >= 10.2.6., (*2)
For MySQL you need server version >= 5.7.9., (*3)
For Postgres you need server version >= 9.4., (*4)
For ArangoDB you need server version >= 3.2., (*5)
Test Results
You can check our test results here., (*6)
They were running a notebook with Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, (*7)
Usage
Docker and Docker Compose
If you want to run the benchmark suite you need Docker
and Docker Compose., (*8)
Install dependencies with:, (*9)
$ docker run --rm -i -v $(pwd):/app prooph/composer:7.2 update -o
Then you can simply run the bench_docker.sh
script for each driver (arangodb
postgres
mysql
mariadb
):, (*10)
$ . bench_docker.sh --driver postgres
Or to run all benchmarks, (*11)
$ . bench_docker_all.sh > results.log
Manual
1) Have MySQL, MariaDB, Postgres, ArangoDB installed and running
2) Edit .env
file and change your db settings
3) Create the test database according to your settings
4) run . bench.sh --driver postgres
or . bench_all.sh > results.log
or . bench.sh --driver postgres,arangodb
5) enjoy, (*12)
Good to know
Test 7 real world test
This is the most realistic test case that comes close to production usage:
- 50 processes are writing 250 events at the same time
- 6 projections are reading events at the same time
- a total of 12500 events are written
- a total of 15000 events are read, (*13)
Support
Contribute
Please feel free to fork and extend existing or add new plugins and send a pull request with your changes!
To establish a consistent code quality, please provide unit tests for all your changes and may adapt the documentation., (*14)
License
Released under the New BSD License., (*15)