Сравнение eAccelerator и XCache
Кому статья будет полезна: владельцам выделенных или виртуальных серверов.
Рассмотренные вопросы:
- Есть ли смысл в кешировании? Какая выгода будет?
- Какую из кеширующих служб выбрать?
Тестирование проводилось сайта, построенного на wordpress утилитой ab в два этапа. В первый этап замеряем время выполнения странички 50 раз в один поток.
Во второй раз — 50 раз в 5 потоков.
Результаты:
Ниже можно будет посмотреть результаты тестирования. Выводы которые я сделал:
- Кеширование ставить надо. Скорость загрузки увеличивается в 1,5 раза.
- Какую программу выбрать для тестирования — мое мнение xcache. Результаты его сравнимы с eAccelerator, однако ставится на Ubuntu в одну строчку, в отличии от eAccelerator, который надо собирать, а потом подключать.
1. Без кеширования.
Открываем страницу 50 раз без кеширования в один поток:
Time taken for tests: 88.64353 seconds
Requests per second: 0.57 [#/sec] (mean)
Transfer rate: 12.16 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)
50% 1363
66% 1958
75% 2029
80% 2104
90% 2389
95% 4129
98% 4838
99% 4838
100% 4838
Открываем страницу 50 раз без кеширования в 5 потоков:
Time taken for tests: 44.574501 seconds
Requests per second: 1.12 [#/sec] (mean)
Transfer rate: 24.05 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)
50% 3750
66% 3932
75% 4201
80% 4322
90% 6951
95% 14080
98% 14103
99% 14103
100% 14103
2. eAccelerator
Открываем страницу 50 раз с кешированием eAccelerator в один поток:
Time taken for tests: 45.940284 seconds
Requests per second: 1.09 [#/sec] (mean)
Transfer rate: 23.33 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)
50% 906
66% 918
75% 922
80% 936
90% 985
95% 1011
98% 1022
99% 1022
100% 1022
Открываем страницу 50 раз с кешированием eAccelerator в 5 потоков:
Time taken for tests: 29.243319 seconds
Requests per second: 1.71 [#/sec] (mean)
Transfer rate: 36.66 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)
50% 2945
66% 2978
75% 3011
80% 3031
90% 3073
95% 3116
98% 3834
99% 3834
100% 3834
3. XCache
Открываем страницу 50 раз с кешированием XCache в один поток:
Time taken for tests: 46.862680 seconds
Requests per second: 1.07 [#/sec] (mean)
Transfer rate: 22.88 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)
50% 932
66% 939
75% 944
80% 948
90% 980
95% 1000
98% 1038
99% 1038
100% 1038
Открываем страницу 50 раз с кешированием XCache в 5 потоков:
Time taken for tests: 29.301357 seconds
Requests per second: 1.71 [#/sec] (mean)
Transfer rate: 36.59 [Kbytes/sec] receivedPercentage of the requests served within a certain time (ms)
50% 2910
66% 3027
75% 3035
80% 3090
90% 3206
95% 4060
98% 4370
99% 4370
100% 4370
Как видно из этих данных, время выполнения теста для eAccerator и XCache отличается лишь на доли секунды.
Популярность: 11%

Тут есть еще такой аспект: eAccelerator (до последней dev-версии) умеет оптимизировать PHP-код. В dev-версии оптимизатор выкинули. Поэтому с выходом новой версии eAccelerator ситуация может измениться еще сильнее.
PS — на каком железе тестировали? 0.57 запросов/сек — это слабо даже для Апача.
Тестировал на vmware с 300 метрами ОЗУ. После тестирования поставил xCache на сервера. Тестировал также на wordpress, только немного другие сайты.
Целерон 1000, 356 озу. 50 последовательных запросов:
VPS 600 mhz, 380 озу. 50 последовательных запросов:
Какими вы результатами можете поделиться?