Да, проблема серьезная. Я на Джумле постоянно сталкивался с ней.
Один из способов немного уменьшить число запросов - оптимизация CSS. К примеру, я использовал вместо одной таблицы стилей несколько, каждая отвечала за свой определенный участок сайта: меню, разметка, типографика и т.д. Затем CSS собирается, кэшируется и запрос к таблицам идет уже через кэш.
Обработка CSS осуществляется через php-сборщик:
PHP код:
?php
if (extension_loaded('zlib') && !ini_get('zlib.output_compression')) @ob_start('ob_gzhandler');
header('Content-type: text/css; charset: UTF-8');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
define('DS', DIRECTORY_SEPARATOR);
define('PATH_ROOT', dirname(__FILE__) . DS);
ob_start("compress");
function compress($buffer) {
/* remove comments */
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
/* remove tabs, spaces, newlines, etc. */
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
/* general tag styling */
include(PATH_ROOT . 'layout.css');
/* typografy styling */
include(PATH_ROOT . 'typo.css');
/* joomla core styling */
include(PATH_ROOT . 'joomla.css');
ob_end_flush();
?>
Значительно уменьшается объем CSS и вдвое уменьшается время отклика. Этот способ я где-то подсмотрел, источника уже не помню, к сожалению. Это я использовал на Джумле, надо прописать туда свои Css файлы.
Но в любом случае, это только небольшая часть того, что можно сделать. Наверняка кто-то подскажет еще другие способы оптимизации запросов.
Социальные закладки