Este projeto tenta medir a sobrecarga mínima (custo mínimo de bootstrap) das estruturas PHP no mundo real.
Então, acho que as aplicações mínimas para a referência não devem incluir:
Componentes como o modelo de modelo ou as bibliotecas de banco de dados ORM/estão fora de escopo neste projeto.
Este é o ramo master .
--optimize-autoloader .Algumas pessoas podem pensar que o uso de configuração padrão não é justo. Mas acho que a configuração padrão de uma estrutura é uma afirmação do que é. A configuração padrão é um bom ponto de partida para conhecer uma estrutura. E não posso otimizar todas as estruturas. Algumas estruturas são otimizadas, outras não, não são justas. Portanto, não removo nenhum componente/configurações.
Mas se você estiver interessado em benchmarking com otimização (removendo componentes/configurações que não são usadas), consulte Otimize Branch.
Se você encontrar algo errado com meu código, sinta -se à vontade para enviar solicitações de puxar. Mas observe que a otimização apenas para "Hello World" não é aceitável. Construir o aplicativo "Hello World" mais rápido não é o objetivo deste projeto.
Estes são meus benchmarks, não seus. Encorajo você a executar seus ambientes (equivalentes de produção).
(2017/02/14)

| estrutura | pedidos por segundo | parente | Memória de pico | parente |
|---|---|---|---|---|
| Siler-0.6 | 2.069,69 | 20.3 | 0,25 | 1.0 |
| Kumbia-1.0-Dev | 1.753,60 | 17.2 | 0,29 | 1.2 |
| staticphp-0.9 | 1.665,28 | 16.3 | 0,27 | 1.1 |
| Phalcon-2.0 | 1.618.39 | 15.9 | 0,26 | 1.1 |
| Tipsy-0.10 | 1.376,97 | 13.5 | 0,32 | 1.3 |
| Fatfree-3.5 | 965.16 | 9.5 | 0,41 | 1.7 |
| CI-3.0 | 753.09 | 7.4 | 0,42 | 1.7 |
| Nofuss-1.2 | 667.24 | 6.5 | 0,40 | 1.6 |
| Slim-3.0 | 550.43 | 5.4 | 0,61 | 2.5 |
| Bear-1.0 | 502.52 | 4.9 | 0,73 | 3.0 |
| Lumen-5.1 | 415.57 | 4.1 | 0,85 | 3.5 |
| yii-12.0 | 410.08 | 4.0 | 1.32 | 5.4 |
| ZE-1.0 | 403.34 | 4.0 | 0,75 | 3.1 |
| Cygnite-1.3 | 369.12 | 3.6 | 0,71 | 2.9 |
| Fuel-1,8 | 344.26 | 3.4 | 0,63 | 2.6 |
| Silex-2.0 | 342.81 | 3.4 | 0,78 | 3.2 |
| Phpixie-3.2 | 267.24 | 2.6 | 1.25 | 5.1 |
| Aura-2.0 | 233.54 | 2.3 | 0,88 | 3.6 |
| Bolo-3.2 | 174.91 | 1.7 | 1.95 | 7.9 |
| ZF-3.0 | 133.87 | 1.3 | 2.24 | 9.1 |
| Symfony-3.0 | 131.50 | 1.3 | 2.18 | 8.9 |
| Laravel-5.3 | 101.94 | 1.0 | 2.83 | 11.5 |
Nota (1): Todos os resultados são executados no PHP com phalcon.so e ice.so Se você não carregar phalcon.so ou gelo.
Nota (2): Esses benchmarks são limitados pelo desempenho ab . Veja #62.
Se você deseja comparar estruturas de extensão PHP como Phalcon, precisará instalar as extensões.
Instale o código-fonte como http: // localhost/php-framework-benchmark/:
$ git clone https://github.com/kenjis/php-framework-benchmark.git
$ cd php-framework-benchmark
$ bash setup.sh
Execute benchmarks:
$ bash benchmark.sh
Consulte http: // localhost/php-framework-benchmark/.
Se você deseja comparar algumas estruturas:
$ bash setup.sh fatfree-3.5/ slim-3.0/ lumen-5.1/ silex-1.3/
$ bash benchmark.sh fatfree-3.5/ slim-3.0/ lumen-5.1/ silex-1.3/
Eu adicionei abaixo em /etc/sysctl.conf
# Added
net.netfilter.nf_conntrack_max = 100000
net.nf_conntrack_max = 100000
net.ipv4.tcp_max_tw_buckets = 180000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10
e execute sudo sysctl -p .
Se você deseja ver a configuração atual, execute sudo sysctl -a .
<VirtualHost *:80>
DocumentRoot /home/vagrant/public
</VirtualHost>