Этот проект пытается измерить минимальные накладные расходы (минимальная стоимость начальной загрузки) рамки PHP в реальном мире.
Поэтому я думаю, что минимальные приложения для теста не должны включать:
Компоненты, такие как Template Engine или ORM/библиотеки базы данных, находятся вне объема в этом проекте.
Это master -филиал.
--optimize-autoloader .Некоторые люди могут подумать, что использование конфигурации по умолчанию не справедливо. Но я думаю, что конфигурация по умолчанию Framework является утверждением того, что она есть. Конфигурация по умолчанию является хорошей отправной точкой, чтобы узнать структуру. И я не могу оптимизировать все рамки. Некоторые рамки оптимизированы, некоторые не являются, это несправедливо. Поэтому я не удаляю никаких компонентов/конфигураций.
Но если вы заинтересованы в сравнительном анализе с оптимизацией (удаление компонентов/конфигураций, которые не используются), см. Оптимизируйте ветвь.
Если вы найдете что -то не так с моим кодом, пожалуйста, не стесняйтесь отправлять запросы на привлечение. Но обратите внимание, что оптимизация только для «Hello World» не приемлема. Создание самого быстрого приложения «Hello World» не является целью в этом проекте.
Это мои тесты, а не ваши. Я призываю вас работать в вашей (производственной эквивалентной) средах.
(2017/02/14)

| рамки | запросы в секунду | родственник | пиковая память | родственник |
|---|---|---|---|---|
| Силер-0.6 | 2 069,69 | 20.3 | 0,25 | 1.0 |
| Kumbia-1.0-Dev | 1753,60 | 17.2 | 0,29 | 1.2 |
| staticphp-0.9 | 1 665,28 | 16.3 | 0,27 | 1.1 |
| Phalcon-2.0 | 1618,39 | 15.9 | 0,26 | 1.1 |
| Tipsy-0.10 | 1376,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 |
| Нофус-1.2 | 667.24 | 6.5 | 0,40 | 1.6 |
| Слим-3.0 | 550.43 | 5.4 | 0,61 | 2.5 |
| медведь-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 |
| топливо-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 |
| Аура-2.0 | 233,54 | 2.3 | 0,88 | 3.6 |
| торт-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 |
| Ларавел-5,3 | 101.94 | 1.0 | 2.83 | 11,5 |
ПРИМЕЧАНИЕ (1): Все результаты проводятся на PHP с phalcon.so и ice.so Если вы не загружаете Phalcon.so или Ice.so, RPS, кроме Phalcon или Ice, вероятно, немного увеличиваются.
ПРИМЕЧАНИЕ (2): эти тесты ограничены производительностью ab . Смотрите #62.
Если вы хотите сравнить рамки расширения PHP, такие как Phalcon, вам необходимо установить наращивания.
Установите исходный код как http: // localhost/php-framework-benchmark/:
$ git clone https://github.com/kenjis/php-framework-benchmark.git
$ cd php-framework-benchmark
$ bash setup.sh
Запустите тесты:
$ bash benchmark.sh
См. Http: // localhost/php-framework-benchmark/.
Если вы хотите сравнить некоторые рамки:
$ 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/
Я добавил ниже в /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
и запустить sudo sysctl -p .
Если вы хотите увидеть текущую конфигурацию, запустите sudo sysctl -a .
<VirtualHost *:80>
DocumentRoot /home/vagrant/public
</VirtualHost>