Benchmark kit is a tool to add a framework or a template engine benchmark on phpbenchmarks.com.
You will need Docker ^18.06 to make it work.
Everything you need to use benchmark kit is is phpbenchkit.sh.
Install it as global bin and give it execute mode:
sudo wget https://raw.githubusercontent.com/phpbenchmarks/benchmark-kit/master/phpbenchkit.sh -O /usr/local/bin/phpbenchkit sudo chmod +x /usr/local/bin/phpbenchkit
phpbenchkit, it will add vhosts and run Docker benchmatk kit container:
# Add vhosts if needed, run Docker container and call bin/console to show available commands phpbenchkit # Restart Docker container phpbenchkit --restart # Stop Docker container phpbenchkit --stop # Update docker image and phpbenchkit command phpbenchkit --selfupdate
Benchmark kit commands
List available commands:
Almost all commands accept this option:
--skip-source-code-urls: don't validate source code urls, usefull while you are in development.
#1 Ask us to create repositories
You can ask us to create repositories with contact form.
Tell us which component and version you want to benchmark,
your github username to allow you to commit on this repositories.
We will send you an email when repositories will be created.
#2 Initialize code
To make your benchmark work you will need some files into
Configuration.php: configuration of benchmarked component.
initBenchmark.sh: called before the benchmark to initialize everything (composer install, cache warmup etc).
vhost.conf: nginx virtual host configuration.
responseBody/: benchmark url body will be compared to files in this directory to validate it's content.
composer/composer.lock.phpX.Y: created by
phpbenchkit composer:updateto install dependencies by PHP version.
All this files can be created and configured with
See list of configure commands with
You can call
phpbenchkit configure:benchmark to create all of them or use the one your need.
phpbenchkit composer:update # you can specify a version of php phpbenchkit composer:update 7.1
You can validate each part of your configuration with
See list of validation commands with with
#4 Add required feaures for benchmarks
Choose the component type and benchmark type you want to code:
all component benchmarks needs to bo validated to make your component appear on phpbenchmarks.com.
#5 Test and validate your code
Docker container provide a domain to test your code:
To change PHP version (CLI and FPM):
When you think it's ok, use
phpbenchkit validate:benchmark to validate it.
#6 Submit your code
phpbenchkit validate:benchmark say it's good, push your code,
then you can tell us to launch benchmarks with contact form.