prooph / event-store-benchmarks
Requires
- prooph/arangodb-event-store: dev-master
- prooph/arangodb-php-driver-polyfill: dev-master
- prooph/pdo-event-store: ^1.5.1
- psr/container: ^1.0
- vlucas/phpdotenv: ^2.4
- zendframework/zend-servicemanager: ^3.3
Requires (Dev)
- malukenho/docheader: ^0.1.4
- prooph/php-cs-fixer-config: ^0.2.1
This package is auto-updated.
Last update: 2024-11-29 04:47:00 UTC
README
Benchmarks for prooph event-store
Requirements
- PHP >= 7.1
- PDO_MySQL Extension
- PDO_PGSQL Extension
For MariaDB you need server vesion >= 10.2.6.
For MySQL you need server version >= 5.7.9.
For Postgres you need server version >= 9.4.
For ArangoDB you need server version >= 3.2.
Test Results
You can check our test results here.
They were running a notebook with Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
Usage
Docker and Docker Compose
If you want to run the benchmark suite you need Docker and Docker Compose.
Install dependencies with:
$ 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
):
$ . bench_docker.sh --driver postgres
Or to run all benchmarks
$ . bench_docker_all.sh > results.log
Manual
- Have MySQL, MariaDB, Postgres, ArangoDB installed and running
- Edit
.env
file and change your db settings - Create the test database according to your settings
- run
. bench.sh --driver postgres
or. bench_all.sh > results.log
or. bench.sh --driver postgres,arangodb
- enjoy
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
Support
- Ask questions on Stack Overflow tagged with #prooph.
- File issues at https://github.com/prooph/event-store-benchmarks/issues.
- Say hello in the prooph gitter chat.
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.
License
Released under the New BSD License.