XCache. PHP. Сравнение быстродействия.
3 августа, 2011
Тестируем WordPress сайт утилитой ab:
ab -c 20 -n 200 http://lenta.iadlab.ru/ |
Что эквивалентно 20 запросам в секунду. Общее число запросов 200. Перед Apache стоит nginx, который принимает запросы и проксирует на apache в очередь.
Принцип работы XCache: предварительно компилируем PHP файлы в объектный код и сохраняем в памяти. При выполнении запроса линкуем нужные файлы из памяти и выполняем запрос.
Результаты без XCache:
Concurrency Level: 20 Time taken for tests: 51.226 seconds Complete requests: 200 Failed requests: 0 Write errors: 0 Total transferred: 10737600 bytes HTML transferred: 10688600 bytes Requests per second: 3.90 [#/sec] (mean) Time per request: 5122.616 [ms] (mean) Time per request: 256.131 [ms] (mean, across all concurrent requests) Transfer rate: 204.70 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.1 0 1 Processing: 473 4935 1205.1 4900 10384 Waiting: 272 4544 1024.4 4588 9127 Total: 473 4935 1205.1 4900 10384 |
Результаты с XCache:
Concurrency Level: 20 Time taken for tests: 35.107 seconds Complete requests: 200 Failed requests: 0 Write errors: 0 Total transferred: 10737600 bytes HTML transferred: 10688600 bytes Requests per second: 5.70 [#/sec] (mean) Time per request: 3510.692 [ms] (mean) Time per request: 175.535 [ms] (mean, across all concurrent requests) Transfer rate: 298.69 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.6 0 3 Processing: 418 3366 791.7 3310 6196 Waiting: 324 3015 625.8 3056 4991 Total: 421 3366 791.4 3310 6196 |
Вывод: время выполнения упало ~ вдвое.