2013-03-11 3 views
2

Недавно я узнал о APC (знаю, я опоздал на шоу) и решил попробовать его на моем сервере разработки. Я сделал некоторые бенчмаркинга с ApacheBench, и, к моему удивлению, я обнаружил, что все работает slower, чем раньше.APC делает PHP 5.3 медленнее?

Я не делал никаких оптимизаций кода для использования apc_fetch или что-то еще, но я был под впечатлением, что кэширование кода операции должно положительно повлиять на ваше собственное?

C:\Apache24\bin>ab -n 1000 http://localhost/ 
This is ApacheBench, Version 2.3 <$Revision: 1178079 $> 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Licensed to The Apache Software Foundation, http://www.apache.org/ 

Benchmarking localhost (be patient) 
Finished 1000 requests 


Server Software:  Apache/2.4.2 
Server Hostname:  localhost 
Server Port:   80 

Document Path:  /
Document Length:  22820 bytes 

Concurrency Level:  1 
Time taken for tests: 120.910 seconds 
Complete requests:  1000 
Failed requests:  95 
    (Connect: 0, Receive: 0, Length: 95, Exceptions: 0) 
Write errors:   0 
Total transferred:  23181893 bytes 
HTML transferred:  22819893 bytes 
Requests per second: 8.27 [#/sec] (mean) 
Time per request:  120.910 [ms] (mean) 
Time per request:  120.910 [ms] (mean, across all concurrent requests) 
Transfer rate:   187.23 [Kbytes/sec] received 

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 0 0.4  0  1 
Processing: 110 120 7.2 121  156 
Waiting:  61 71 7.1  72  103 
Total:  110 121 7.2 121  156 

Percentage of the requests served within a certain time (ms) 
    50% 121 
    66% 122 
    75% 123 
    80% 130 
    90% 131 
    95% 132 
    98% 132 
    99% 137 
100% 156 (longest request) 

Вот раздел APC моего php.ini. Я оставил большинство вещей по умолчанию для расширения по умолчанию размер 128 МБ вместо 32.

[APC] 
apc.enabled = 1 
apc.enable_cli = 1 
apc.ttl=3600 
apc.user_ttl=3600 
apc.shm_size = 128M 
apc.slam_defense = 0 

за исключением Я делаю что-то не так, или мне просто нужно использовать apc_fetch/магазин, чтобы действительно получить пользу от APC?

Спасибо за понимание, которое вы, ребята, можете дать.

+0

_ "Примечание. В Windows APC требуется временный путь для существования и может быть доступен для записи веб-сервером. Он проверяет переменные среды TMP, TEMP и USERPROFILE в этом порядке" _ Этот путь существует? – Wrikken

+1

APC должен иметь значение ... у вас есть как до, так и после цифр AB или сразу после? –

+0

И имейте в виду, что многие другие факторы, такие как плохие запросы к базе данных или доступ к файлам, могут иметь большие неблагоприятные издержки –

ответ

0

Включение APC с настройками по умолчанию сделает заметную (по меньшей мере) разницу в времени отклика для вашего PHP-скрипта. Вам не нужно использовать какие-либо из своих функций store/fetch для получения преимуществ от APC. На самом деле, как правило, вам даже не нужен тест, чтобы рассказать о различиях; разница должна быть очевидна путем простой навигации по вашему сайту.

Если вы не видите никакой разницы, и ваши тесты не имеют какой-либо ошибки, я бы предложил начать отладку проблемы (включить отчет об ошибках, проверить журналы и т. Д.).

Смежные вопросы