Парни, как и обещал, но уже не в воскресение, а в субботу, в 19:00. Стрим, на тематику установки софта и бенчмарков. php-fpm vs apache/mod_php Что с nginx, что без него. Бенчмарки будут различными, мы постараемся подойти к вопросу со всех сторон относительно производительности.
До кучи предлагаю протестить апач в разных режимах, ну там, префорки, и с многопоточными воркерами как минимум. За перенос на субботу отдельное спасибо.
В описании дата, когда стартану. Красивая картинка космоса сменится на командную строку и остальные прелести
Два гостя со стороны жениха и со стороны невесты пытаются отыметь брюкву! Не стесняйтесь, выходим, выходим!
Стрим закончен. Краткое содержание: папач победил, fpm как fpm, без сюрпризов и все ок, а встроенный сервер пыхи - говно и опозорился, что было совсем внезапностью.
Спасибо всем, кто принял участие и смотрел трансляцию. Своими кривыми руками я смог добраться до мякотки и выяснить все вопросы относительно производительности обоих связок. Но до связок дела даже не дошло, ибо даже built-in server пыхи уступает в производительности к apache + mod_php. Искаропки, без каких-либо дополнительных модулей/библиотек или настроек. На текущий момент можно и даже нужно использовать apache для решений высоконагруженных проектов.
PHP: <?php $mem = memory_get_usage(); print "\n".phpversion()."\n"; $time_start = microtime(true); for($i=0;$i<100000;$i++){ $text = "blahblah"; $key = "1234567891234567"; $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv); } print "\nExecution time: ".number_format(microtime(true) - $time_start, 10)."\nMemory at start: ".($mem / 1024 / 1024)."\nMemory at end: ".(memory_get_usage() / 1024 / 1024)."\nMemory peak: ".(memory_get_peak_usage() / 1024 / 1024)."\n"; Код, использованный в тесте Примерные показатели Время до начала исполнения скрипта, но после отправки запроса Код (Text): apache/mod_php + nginx 0.002 sec php-fpm + nginx 0.002 sec php built-in server 0.000 sec Шифрование(пример), цикл 100000 Код (Text): apache/mod_php + nginx 4.9 sec php-fpm + nginx 5.175 sec php built-in server 5.1 sec У нас было 4 ядра (2599.996 MHz) 8 гигов оперативки И православный Centos 7 Нагоняли статистику через Код (Text): curl -s http://localhost -w "@curl-format.txt" -o NUL Спойлер: curl-format.txt time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_appconnect: %{time_appconnect}\n time_pretransfer: %{time_pretransfer}\n time_redirect: %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n ----------\n time_total: %{time_total}\n Цифры не субъективны, среднее вычиталось на глазок, но даже этого хватило для общего понимания того, что дальше всё так же правда останется за apache.