PHP_Master
Хранитель порядка
- Регистрация
- 3 Фев 2008
- Сообщения
- 2.639
- Реакции
- 601
- Автор темы
- #1
Убедительная просьба инфу не пиздить - мне не жалко, но она предварительная и не в том виде, чтоб её тиражировать.
Если найду её за пределами форума, то продолжения не будет или будет под таким хайдом, что многие не скоро его увидят.
Спасибо.
Цель - сравнение производительности различных связок web-сервер + PHP + кэш опкода.
Тест - беспрерывный запрос списка из 30 урлов в 50 потоков (читай более 50 одновременных посетителей) в течение 2-х минут. Все урлы реальной CMS c реальной информацией.
Недостаток (а может и преимущество) тестирования - загружается только конечный документ без сопутствующих файлов (графика, css, javascript). Грубо говоря, оценивается производительность не всей связки, а только производительность PHP в данной связке (поэтому некоторые результаты могут кому-то показаться неожиданными).
Все конфиги стандартные, ничего специально не тюнилось за исключением добавления в nginx правил для ЧПУ в последнем тесте и использования сокета вместо TCP/IP тамже.
Перед выполнением каждого теста все участвующие компоненты (за исключением mysql) перезапускались. Каждый тест запускался 3-и раза, лучший и худший результаты отбрасывались, средний шёл в зачёт.
-------------------------------------------------------------------------
Классика - Apache2 prefork (далее просто Apache) + mod_php (в виде dso)
обработано запросов 1291
ошибок 0
получено данных, байт 21 543 013
RAM 250Mb
Apache + mod_php + APC
обработано запросов 1666
ошибок 0
получено данных, байт 29 763 031
RAM 125Mb
Apache + mod_php + eAccelerator
обработано запросов 1669
ошибок 0
получено данных, байт 29 771 856
RAM 150Mb
Apache + mod_php + xCache
обработано запросов 1634
ошибок 0
получено данных, байт 29 078 054
RAM 150Mb
-------------------------------------------------------------------------
-------------------------------------------------------------------------
Nginx как прокси перед Apache
Nginx + Apache + mod_php
обработано запросов 1262
ошибок 0
получено данных, байт 20 859 516
RAM 300Mb
Nginx + Apache + mod_php + APC
обработано запросов 1649
ошибок 0
получено данных, байт 29 669 977
RAM 160Mb
Nginx + Apache + mod_php + eAccelerator
обработано запросов 1646
ошибок 0
получено данных, байт 29 615 520
RAM 160Mb
Nginx + Apache + mod_php + xCache
обработано запросов 1619
ошибок 0
получено данных, байт 29 098 403
RAM 160Mb
-------------------------------------------------------------------------
-------------------------------------------------------------------------
Nginx + FPM
обработано запросов 1384
ошибок 0
получено данных, байт 23 670 034
RAM 60Mb
Nginx + FPM + APC
обработано запросов 1859
ошибок 0
получено данных, байт 32 968 333
RAM 60Mb
Nginx + FPM + eAccelerator
обработано запросов 1879
ошибок 0
получено данных, байт 33 417 289
RAM 55Mb
Nginx + FPM + xCache
обработано запросов 1831
ошибок 0
получено данных, байт 32 409 829
RAM 55Mb
-------------------------------------------------------------------------
Тест "грязный" - запускался прямо на сервере, но картину оценить можно.
Если позволит время, на следующей неделе сделаю чистый тест.
Nginx + FPM + eAccelerator позволили обслужить на 200 коннектов больше чем хвалённый Apache + mod_php + eAccelerator при вдвое меньшем потреблении памяти.
Если найду её за пределами форума, то продолжения не будет или будет под таким хайдом, что многие не скоро его увидят.
Спасибо.
Цель - сравнение производительности различных связок web-сервер + PHP + кэш опкода.
Тест - беспрерывный запрос списка из 30 урлов в 50 потоков (читай более 50 одновременных посетителей) в течение 2-х минут. Все урлы реальной CMS c реальной информацией.
Недостаток (а может и преимущество) тестирования - загружается только конечный документ без сопутствующих файлов (графика, css, javascript). Грубо говоря, оценивается производительность не всей связки, а только производительность PHP в данной связке (поэтому некоторые результаты могут кому-то показаться неожиданными).
Все конфиги стандартные, ничего специально не тюнилось за исключением добавления в nginx правил для ЧПУ в последнем тесте и использования сокета вместо TCP/IP тамже.
Перед выполнением каждого теста все участвующие компоненты (за исключением mysql) перезапускались. Каждый тест запускался 3-и раза, лучший и худший результаты отбрасывались, средний шёл в зачёт.
-------------------------------------------------------------------------
Классика - Apache2 prefork (далее просто Apache) + mod_php (в виде dso)
обработано запросов 1291
ошибок 0
получено данных, байт 21 543 013
RAM 250Mb
Apache + mod_php + APC
обработано запросов 1666
ошибок 0
получено данных, байт 29 763 031
RAM 125Mb
Apache + mod_php + eAccelerator
обработано запросов 1669
ошибок 0
получено данных, байт 29 771 856
RAM 150Mb
Apache + mod_php + xCache
обработано запросов 1634
ошибок 0
получено данных, байт 29 078 054
RAM 150Mb
-------------------------------------------------------------------------
-------------------------------------------------------------------------
Nginx как прокси перед Apache
Nginx + Apache + mod_php
обработано запросов 1262
ошибок 0
получено данных, байт 20 859 516
RAM 300Mb
Nginx + Apache + mod_php + APC
обработано запросов 1649
ошибок 0
получено данных, байт 29 669 977
RAM 160Mb
Nginx + Apache + mod_php + eAccelerator
обработано запросов 1646
ошибок 0
получено данных, байт 29 615 520
RAM 160Mb
Nginx + Apache + mod_php + xCache
обработано запросов 1619
ошибок 0
получено данных, байт 29 098 403
RAM 160Mb
-------------------------------------------------------------------------
-------------------------------------------------------------------------
Nginx + FPM
обработано запросов 1384
ошибок 0
получено данных, байт 23 670 034
RAM 60Mb
Nginx + FPM + APC
обработано запросов 1859
ошибок 0
получено данных, байт 32 968 333
RAM 60Mb
Nginx + FPM + eAccelerator
обработано запросов 1879
ошибок 0
получено данных, байт 33 417 289
RAM 55Mb
Nginx + FPM + xCache
обработано запросов 1831
ошибок 0
получено данных, байт 32 409 829
RAM 55Mb
-------------------------------------------------------------------------
Тест "грязный" - запускался прямо на сервере, но картину оценить можно.
Если позволит время, на следующей неделе сделаю чистый тест.
Nginx + FPM + eAccelerator позволили обслужить на 200 коннектов больше чем хвалённый Apache + mod_php + eAccelerator при вдвое меньшем потреблении памяти.