Este proyecto intenta medir la sobrecarga mínima (costo mínimo de arranque) de los marcos PHP en el mundo real.
Por lo tanto, creo que las aplicaciones mínimas a Benchmark no deberían incluir:
Componentes como plantilla motor o bibliotecas de base de datos/bases de datos están fuera de alcance en este proyecto.
Esta es la rama master .
--optimize-autoloader .Algunas personas pueden pensar que usar la configuración predeterminada no es justo. Pero creo que la configuración predeterminada de un marco es una afirmación de lo que es. La configuración predeterminada es un buen punto de partida para conocer un marco. Y no puedo optimizar todos los marcos. Algunos marcos están optimizados, otros no, no es justo. Así que no elimino ningún componente/configuración.
Pero si está interesado en la evaluación comparativa con la optimización (eliminación de componentes/configuraciones que no se usan), consulte la rama Optimize.
Si encuentra algo mal con mi código, no dude en enviar solicitudes de extracción. Pero tenga en cuenta que la optimización solo para "Hello World" no es aceptable. Construir la aplicación "Hello World" más rápida no es el objetivo en este proyecto.
Estos son mis puntos de referencia, no tuyos. Te animo a que ejecute sus entornos (equivalentes de producción).
(2017/02/14)

| estructura | Solicitudes por segundo | relativo | memoria máxima | relativo |
|---|---|---|---|---|
| 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 |
| oso-1.0 | 502.52 | 4.9 | 0.73 | 3.0 |
| Lumen-5.1 | 415.57 | 4.1 | 0.85 | 3.5 |
| YII-2.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 |
| combustible-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 |
| pastel 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 los resultados se ejecutan en PHP con phalcon.so y ice.so . Si no carga Phalcon.so o ICE.SO, los RP, excepto Phalcon o ICE, probablemente aumentan un poco.
Nota (2): estos puntos de referencia están limitados por el rendimiento ab . Ver #62.
Si desea comparar marcos de extensión PHP como Phalcon, debe instalar las estaciones.
Instale el código fuente como http: // localhost/php-framework-benchmark/:
$ git clone https://github.com/kenjis/php-framework-benchmark.git
$ cd php-framework-benchmark
$ bash setup.sh
Ejecutar puntos de referencia:
$ bash benchmark.sh
Ver http: // localhost/php-framework-benchmark/.
Si desea comparar algunos marcos:
$ 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/
Agregué a continuación en /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
y ejecutar sudo sysctl -p .
Si desea ver la configuración actual, ejecute sudo sysctl -a .
<VirtualHost *:80>
DocumentRoot /home/vagrant/public
</VirtualHost>