Вы не зашли.
Сегодня прочитал статью про серверную оптимизацию и решил проверить - действительно ли при использовании APC (PHP-акселератор) реально добиться значительного увеличения производительности.
Для исследования был взят с достаточным количеством контента (~10k новостей) и неплохой нагрузкой.
Вот какие получились результаты:
1. Простая установка APC - дала незначительный (10-20%) прирост производительности (уменьшилось время исполнения скрипта)
2. Кеширование работы одного, но на удивление самого тяжего SQL запроса (определение кол-ва опубликованных новостей на сайте) дало удивительный результат - среднее время генерации страницы упало с ~220ms до ~100ms, т.е. 50% прироста!
Итого: час работы на установку, настройку, патч двига... и мы имеем великолепный эффект!
Для тех, кто хочет сам оптимизировать работу своего сайта, приведу патч.
Открываем engine/includes/news.php, находим строку ~445:
$newsCount = $mysql->result($query['count']);
и заменяем её на:
// Calculate news count
// If APC is enabled - try to use CACHE
if (function_exists('apc_fetch') && (($af = apc_fetch('SQL{'.$query['count'].'}')) !== FALSE)) {
$newsCount = intval($af);
} else {
$newsCount = $mysql->result($query['count']);
if (function_exists('apc_store')) {
apc_store('SQL{'.$query['count'].'}', $newsCount, 30);
}
}
Естественно, для получения эффекта необходимо сначала установить и активировать APC
Не в сети
Второй пункт делался после первого.
Соответственно, APC уже был. И, естественно, кеширование данных в APC значительно более эффективное, чем кеширование на файловой системе.
Естественно, можно использовать и файловый кеш, но в рамках данного примера (использование APC) было бы большим грехом не воспользоваться теми возможностями, которым нам предоставляет APC.
Не в сети