Похоже, я сделал довольно глупую вещь 🙂 Я пытаюсь оптимизировать производительность, поэтому я установил eAccelerator для кеширования и ускорения выполнения PHP-скриптов. После этого я установил APC для хранения и извлечения HTML-страниц из оперативной памяти (если я прав по этому поводу). После тестирования новых PHP-скриптов с помощью eAccelerator и APC включен в то же время я увидел, что чтение HTML-файла с диска и его отображение быстрее, чем отображение из кэша APC. Вот результаты тестов и сценариев PHP. Мне нужен совет, как настроить eAccelerator или APC, чтобы получить лучшие результаты.
ab -kc 500 -n 100000 http://0.0.0.0/html_disk.php
Requests per second: 14197.42 [#/sec] (mean)
Time per request: 35.218 [ms] (mean)
Time per request: 0.070 [ms] (mean, across all concurrent requests)
Transfer rate: 237307.67 [Kbytes/sec] received
ab -kc 500 -n 100000 http://0.0.0.0/html_apc.php
Requests per second: 11795.11 [#/sec] (mean)
Time per request: 42.390 [ms] (mean)
Time per request: 0.085 [ms] (mean, across all concurrent requests)
Transfer rate: 197199.56 [Kbytes/sec] received
И сценарии просты как:
html_disk.php
$file = file_get_contents('page.html');
echo $file;
html_apc.php
if ($page = apc_fetch('page')) {
echo 'APC!';
echo $page;
} else {
echo 'FILE!';
$file = file_get_contents('page.html');
echo $file;
apc_add('page', $file, 120);
}
После первой загрузки скрипта HTML-страница должна быть загружена из общей памяти, верно?
Задача ещё не решена.
Других решений пока нет …