nginx и gzip_static: еще один способ снизить нагрузку на сервер
Отдача предварительно сжатых файлов для снижения нагрузки на процессор
Чем меньше размер страниц сайта, тем меньше расход трафика, загрузка канал и выше скорость загрузки страниц. Один из самых распространённых способов уменьшения страниц — сжатие перед отправкой пользователю. В Apache для этих целей используется mod_deflate, в nginx — ngx_http_gzip_module.html. В других web-серверах используются похожие решения. Что mod_deflate, что ngx_http_gzip_module используют сжатие «на лету» — файл сжимается перед отдачей [...]
← Вернуться к полной версии записи «nginx и gzip_static: еще один способ снизить нагрузку на сервер»…
Автор: Vladimir; опубликовано в: nginx, Администрирование; метки: nginx, WordPress, нагрузка, сжатие, трафикНоя
2009
Комментарии к статье «nginx и gzip_static: еще один способ снизить нагрузку на сервер» (8) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «nginx и gzip_static: еще один способ снизить нагрузку на сервер»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Спасибо за статью.
Посмотреть, если в Вашей версии поддержка «ngx_http_gzip_static_module» можно в выводе команды nginx -V
У меня ошибка вылезла:
find: invalid predicate `-readable’
Пришлось этот параметр затереть, без него всё нормально сработало.
FreeBSD?
CentOS 5.4 и на Gentoo пробывал.
Ошибка одна и та-же.
Ещё кстати вопросик в голове возник:
У меня в nginx.conf gzip с 5-м уровнем компрессии стоит (слабый VDS): gzip_comp_level 5;
А в ручную я сжал с 9-м уровнем.
Вопрос: Он пережимать файлы будет из-за разной степени сжатия или он сразу готовый, сжатый файл отдаёт?
Всегда будет отдавать готовый файл. Даже если исходный изменится. Поэтому при изменении исходного файла его нужно пережимать.
Я у себя этот скрипт вообще на крон повесил.
А к чему жать HTML? Если они часто меняются и их постоянно нужно пережимать, то это уже лишнее, nginx налету их жмет нормально и нагрузку создать почти не успевает
Сжатие выше 5 тоже лишнее, реальной пользы от 9 мало.
При большом количестве html файлов на винте, будет проще прописать
root /home/user/site.com;
expires 1d;
error_page 404 = @fallback;
}
Так дело до Apache совсем не дойдет.
Оправдано жать только css и js
Статика редко изменяется (хотя всегда есть исключения).
Идея в том, чтобы не заставлять nginx сжимать файлы на лету, а вместо этого отдавать заранее сжатый файл. Спички, но всё же. Я сейчас собираю статистику, но пока не проанализирую логи, ничего конкретно сказать не могу. Хотя чисто визуально на графике munin средняя загрузка системы чуть меньше.
А смысл вообще в nginx, если статика отдаётся Апачу? Обычно nginx отдаёт статику, а запросы к PHP проксирует Апачу. Хотя если стоит nginx, то Апач вообще не нужен
Согласен, в основном они и создают нагрузку.
PS — Ваш регэксп можно чуть упростить:
\.(css|js|html)$В скрипте ошибка
GZIP=»gzip -9 -c»
$GZIP -9 -c «$1″ > «$GZ_NAME»
Спасибо, поправил