Сжатие gzip увеличивает производительность, а затем увеличивает время отклика с сервера.
Вот мой текущий сценарий сервера.
Я работаю на экземпляре Rackspace Cloud (16 ГБ ОЗУ), используя cPanel/WHM при установке CentOS 5.5.
В настоящее время у меня работает около 10 сайтов Magento, все по размеру (от среднего до маленького)
Со временем я заметил, что скорость сайтов замедляется. Я сделал множество изменений в базе данных и другие вещи, чтобы помочь повысить производительность Magento.
Недавно я включил сжатие gzip в глобальном масштабе, добавив следующую запись Post для конфигурации apache.
<IfModule mod_deflate.c>
# Insert filter on all content
SetOutputFilter DEFLATE
# Insert filter on selected content types only
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
Я сразу заметил более быстрое время загрузки сайтов и был очень доволен. Однако через несколько минут я заметил, что время отклика увеличилось. Полностью уничтожил прирост производительности и заставил сайты загружаться на 2-3 секунды больше, чем до gzip.
Насколько я понимаю, gzip не требует слишком много дополнительного процессора, но с комбинацией из 10 различных сайтов, может ли это быть так?
Есть ли способ получить содержимое gzip один раз, чем apache ищет этот уже gzip-файл и использует его, вместо того, чтобы снова и снова сжимать каждый файл для каждого запроса?
Любая идея по этому поводу будет принята с благодарностью!
2 ответа
Есть способ сначала сжать ваш контент, и с некоторой перепиской foo, сделать эту работу (в теории) ... но... если вы заинтересованы в производительности сайта, взгляните на обратный прокси-кеш, такой как лак. Хотя я не работаю с magento, лак, кажется, довольно хорошо интегрируется с ним: http://www.magentocommerce.com/magento-connect/pagecache-powered-by-varnish.html
НТН.