Это не очень хороший патч.
Т.к. он не умеет работать с кэшем - его придется выключить! (там это в комментах подобней написано - почитайте).
.
Вообще, drupal хранит кэш уже пожатым. Т.е. для анонимусов, при включенном кэше, сжатие работает из коробки. Друпал не расжимает данные, а просто выставляет заголовок браузеру, что данные пожаты (если, конечно, браузер поддерживает сжатие, если нет, то данные расжимаются).
.
На самом деле, самое оптимальное было бы настроить Apacheвский mod_gzip (наверняка у вашего хостера он есть). Тогда все будет работать оптимально. Этот модуль анализирует заголовки и если видит, что данные уже пожаты (т.е. в нашем случае из кэша), то 2й раз не жмет, если не пожаты - жмет и добавляет заголовок.
Кстати, именно так рекомендуют поступать разработчики Друпала и именно это они понимают под поддержкой gzip. В комментах к node/848 есть ссылка на дисскуссию на drupal.org.
Гость (не проверено)
19 июля 2006 в 12:48
"Сдаётся мне у Друпала всё же это не реализовано."
Всё реализовано. Пару строчек в htaccess добавить надо:
(очередной раз повторяю) При этом кэш для анонимных пользователей не работает!!! Ибо этот php_flag zlib.output_compression кривой и не смотрит за заголовки, которые отдает ему скрипт. А кэш уже пожат.
Блин захожу сюда к вам http://drupal.ru/ здесь всё работает страница в реале весит 30 Kb а заагружается как 5-6 Kb.
А у меня как она есть 30 так и качаю я 30.
Никакого сжатия не ощущаю.
Где может быть проблема?
Может мне кеш надо как-то вадминке правильно выставить?
Или чего ещё подкрутить где-нить?
Но не ощущается никакого сжатия - всё кочается один к одному.
А у вас всё ОК.
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_can_negotiate Yes
mod_gzip_static_suffix .gz
AddEncoding gzip .gz
mod_gzip_update_static No
mod_gzip_handle_methods GET POST
mod_gzip_dechunk Yes
mod_gzip_add_header_count Yes
mod_gzip_send_vary Off
mod_gzip_item_include file(\.html)|(\.cs)|(\.php)$
mod_gzip_maximum_file_size 50000000 </IfModule>
Но модуль mod_gzip должен быть включен на хостинге глобально.
Правда, у меня это написано глобально в httpd.conf.
Не уверен, что все эти директивы будут работать в .htaccess.
В докуменатции к mod_gzip написано лишь:
"about everything can be used in every environment, i. e.
* in the complete server scope,
* in separate virtual hosts,
* in directories or even
* in .htaccess files"
Работает! и довольно неплохо, жмет в 5 раз а это немало.
mod_gzip: r->uri=[/index.php] OK: Bytes In:44523 Out:7711 Compression: 83 pct.
только почему-то перестала работать страничка phpinfo.php - наровит загрузится и сохранится на диск
вот как тут написано - копи-паст в .htaccess http://drupal.ru/node/1908#comment-7643
правда доустановил модуль gzip к апачу так как по дефолту не стоял и добавил в конфиг апача его загрузку, но это само собой разумеется - и все заработало само, даже мозила показывает размер странички в 5 раз меньше.
Да, в строке состояния показывает вес, время и т.д.
А скорость здесь не причём.
Далай так:
Нажимай в Виндовсе на два мигающих монитора внизу (панель задач).
Откроется виндовское окошко, где будет показываться исходящий и входящий траффик.
Он будет стаять неподвижно - запиши цифры.
Потом открой любую страницу и снова смотри на цифры исходящего и входящего траффика.
Потом сравни цыфры. Разница будет - закачкой.
Потом смотри реальный вес самой страницы.
И картинки должны быть отключены естественно.
у меня даже мониторов мигающих в виндоусе нет, на работе сеть тут поумному сделана.. ладно этот вопрос на данный момент не актуален, вернусь к нему на след. неделе
clubwave.ru,
у меня стоит до сих пор этот вариант: http://drupal.ru/node/848
Кэш я отключил... потому что таблица в БД (cash) разростается до 50 MB... а нахера это нужно... у меня лимит хостера на 200.
Комментарии
Drupal правильно выставляет заголовки для Apacheвкого mod_gzip (или он mod_deflate зовется - не помню).
Этот вопрос не один раз обсуждался. Пожалуйста, воспользуйтесь [url=search/node/gzip]поиском[/url].
В общем сделал как здесь написано:
http://drupal.ru/node/848
И сжимать трафик стал раза в 3 (как и должно быть когда работает gzip)
До этого страницы весили 23 Kb сейчас 5-6Kb.
Сдаётся мне у Друпала всё же это не реализовано.
Это не очень хороший патч.
Т.к. он не умеет работать с кэшем - его придется выключить! (там это в комментах подобней написано - почитайте).
.
Вообще, drupal хранит кэш уже пожатым. Т.е. для анонимусов, при включенном кэше, сжатие работает из коробки. Друпал не расжимает данные, а просто выставляет заголовок браузеру, что данные пожаты (если, конечно, браузер поддерживает сжатие, если нет, то данные расжимаются).
.
На самом деле, самое оптимальное было бы настроить Apacheвский mod_gzip (наверняка у вашего хостера он есть). Тогда все будет работать оптимально. Этот модуль анализирует заголовки и если видит, что данные уже пожаты (т.е. в нашем случае из кэша), то 2й раз не жмет, если не пожаты - жмет и добавляет заголовок.
Кстати, именно так рекомендуют поступать разработчики Друпала и именно это они понимают под поддержкой gzip. В комментах к node/848 есть ссылка на дисскуссию на drupal.org.
"Сдаётся мне у Друпала всё же это не реализовано."
Всё реализовано. Пару строчек в htaccess добавить надо:
http://drupal.ru/node/519#comment-3417
Кто-нить конкретно может написать что и куда надо прописывать???
Это правильно или нет:
???????
(очередной раз повторяю) При этом кэш для анонимных пользователей не работает!!! Ибо этот php_flag zlib.output_compression кривой и не смотрит за заголовки, которые отдает ему скрипт. А кэш уже пожат.
Всё же у меня не работает сжималка никакая.
Блин захожу сюда к вам http://drupal.ru/ здесь всё работает страница в реале весит 30 Kb а заагружается как 5-6 Kb.
А у меня как она есть 30 так и качаю я 30.
Никакого сжатия не ощущаю.
Где может быть проблема?
Может мне кеш надо как-то вадминке правильно выставить?
Или чего ещё подкрутить где-нить?
Но не ощущается никакого сжатия - всё кочается один к одному.
А у вас всё ОК.
Надо настроить модуль mod_gzip Апача. В Друпале ничего делать не надо.
.
Сжатие данных -- это дело веб-сервера.
"Надо настроить модуль mod_gzip Апача. "
А как его настроить?
Всмысле что конкретно нужно делать?
Попробовать в .htaccess добавить:
mod_gzip_on Yes
mod_gzip_can_negotiate Yes
mod_gzip_static_suffix .gz
AddEncoding gzip .gz
mod_gzip_update_static No
mod_gzip_handle_methods GET POST
mod_gzip_dechunk Yes
mod_gzip_add_header_count Yes
mod_gzip_send_vary Off
mod_gzip_item_include file (\.html)|(\.cs)|(\.php)$
mod_gzip_maximum_file_size 50000000
</IfModule>
Но модуль mod_gzip должен быть включен на хостинге глобально.
Правда, у меня это написано глобально в httpd.conf.
Не уверен, что все эти директивы будут работать в .htaccess.
В докуменатции к mod_gzip написано лишь:
"about everything can be used in every environment, i. e.
* in the complete server scope,
* in separate virtual hosts,
* in directories or even
* in .htaccess files"
Работает! и довольно неплохо, жмет в 5 раз а это немало.
mod_gzip: r->uri=[/index.php] OK: Bytes In:44523 Out:7711 Compression: 83 pct.
только почему-то перестала работать страничка phpinfo.php - наровит загрузится и сохранится на диск
Да просто вставить в .htaccess это не помогло.
G-zip нету...
Может mod_gzip не включен в апаче у хостера?
.
Еще, есть [url=http://httpd.apache.org/docs/2.0/mod/mod_deflate.html]mod_deflate[/url]
kiev1, ну а расшифровать чё написал можешь?
.
Чё делал штобы сжимать начало7
.
Я вот уже неделю бьюсь с этим gzip. И нифига...
вот как тут написано - копи-паст в .htaccess
http://drupal.ru/node/1908#comment-7643
правда доустановил модуль gzip к апачу так как по дефолту не стоял и добавил в конфиг апача его загрузку, но это само собой разумеется - и все заработало само, даже мозила показывает размер странички в 5 раз меньше.
А как вы проверяете сколько данных приходит? чисто по диалапу и времени загрузки?
Проблема актуальная, раньше работал с джумла, там просто в админке выставлялось сжатие страниц.. вещь несомненно хорошая!
clubwave.ru, нет конечно.
Очень удобно в браузере Опера9 это делать.
Показывается сколько реально загружается. И сравнивается с весом самой страницы.
Можно ещё чист опри помощи Виндовса:
Засечь сколько на счётчике, потом открыть страницу, и сравнить результаты.
у меня инет очень быстрый ничего не успеваю засечь.. к сожалению он не у всех быстрый, поэтому задумываться стоит..
А в опере строку состояния надо включить или как?
Да, в строке состояния показывает вес, время и т.д.
А скорость здесь не причём.
Далай так:
Нажимай в Виндовсе на два мигающих монитора внизу (панель задач).
Откроется виндовское окошко, где будет показываться исходящий и входящий траффик.
Он будет стаять неподвижно - запиши цифры.
Потом открой любую страницу и снова смотри на цифры исходящего и входящего траффика.
Потом сравни цыфры. Разница будет - закачкой.
Потом смотри реальный вес самой страницы.
И картинки должны быть отключены естественно.
у меня даже мониторов мигающих в виндоусе нет, на работе сеть тут поумному сделана.. ладно этот вопрос на данный момент не актуален, вернусь к нему на след. неделе
kiev1, как доустановить "модуль gzip к апачу"?
У меня хостер спейсвеб
Это мне нужно хостеру писать?
Где это вообще всё делать, все эти доустановки?
Включил кэш и насколько понял gzip заработал и для пользователей и для гостей
вы там как? разобрались с этим?
clubwave.ru,
у меня стоит до сих пор этот вариант:
http://drupal.ru/node/848
Кэш я отключил... потому что таблица в БД (cash) разростается до 50 MB... а нахера это нужно... у меня лимит хостера на 200.