G-zip сжатие станиц. Есть ли он на Друпале?

Главные вкладки

Аватар пользователя moonman moonman 18 июля 2006 в 8:47

Знакомлюсь с Друпалом. Начинает нравиться Smile

Вопрос такой:
Есть ли G-zip у Друпала и если нет - то как поставить?

Комментарии

Аватар пользователя Nick Nick 19 июля 2006 в 0:58

Drupal правильно выставляет заголовки для Apacheвкого mod_gzip (или он mod_deflate зовется - не помню).

Этот вопрос не один раз обсуждался. Пожалуйста, воспользуйтесь [url=search/node/gzip]поиском[/url].

Аватар пользователя moonman moonman 19 июля 2006 в 2:38

В общем сделал как здесь написано:

http://drupal.ru/node/848

И сжимать трафик стал раза в 3 (как и должно быть когда работает gzip)

До этого страницы весили 23 Kb сейчас 5-6Kb.

Сдаётся мне у Друпала всё же это не реализовано.

Аватар пользователя Nick Nick 19 июля 2006 в 3:07

Это не очень хороший патч.
Т.к. он не умеет работать с кэшем - его придется выключить! (там это в комментах подобней написано - почитайте).
.
Вообще, drupal хранит кэш уже пожатым. Т.е. для анонимусов, при включенном кэше, сжатие работает из коробки. Друпал не расжимает данные, а просто выставляет заголовок браузеру, что данные пожаты (если, конечно, браузер поддерживает сжатие, если нет, то данные расжимаются).
.
На самом деле, самое оптимальное было бы настроить Apacheвский mod_gzip (наверняка у вашего хостера он есть). Тогда все будет работать оптимально. Этот модуль анализирует заголовки и если видит, что данные уже пожаты (т.е. в нашем случае из кэша), то 2й раз не жмет, если не пожаты - жмет и добавляет заголовок.
Кстати, именно так рекомендуют поступать разработчики Друпала и именно это они понимают под поддержкой gzip. В комментах к node/848 есть ссылка на дисскуссию на drupal.org.

Аватар пользователя moonman moonman 19 июля 2006 в 19:12

Кто-нить конкретно может написать что и куда надо прописывать???

Это правильно или нет:

1. В .htaccess добавляем
php_flag zlib.output_compression On
2. В includes/bootstrap.inc добавляем
if((ini_get(‘zlib.output_compression’))&&(strpos($_SERVER[‘HTTP_ACCEPT_ENCODING’],”gzip”)!==FALSE))

{

         Header(“Content-Encoding: gzip\n”);


}

???????

Аватар пользователя Nick Nick 19 июля 2006 в 21:15

(очередной раз повторяю) При этом кэш для анонимных пользователей не работает!!! Ибо этот php_flag zlib.output_compression кривой и не смотрит за заголовки, которые отдает ему скрипт. А кэш уже пожат.

Аватар пользователя moonman moonman 23 июля 2006 в 18:48

Всё же у меня не работает сжималка никакая.

Блин захожу сюда к вам http://drupal.ru/ здесь всё работает страница в реале весит 30 Kb а заагружается как 5-6 Kb.
А у меня как она есть 30 так и качаю я 30.
Никакого сжатия не ощущаю.
Где может быть проблема?
Может мне кеш надо как-то вадминке правильно выставить?
Или чего ещё подкрутить где-нить?
Но не ощущается никакого сжатия - всё кочается один к одному.
А у вас всё ОК.

Аватар пользователя Nick Nick 23 июля 2006 в 19:14

Надо настроить модуль mod_gzip Апача. В Друпале ничего делать не надо.
.
Сжатие данных -- это дело веб-сервера.

Аватар пользователя Nick Nick 23 июля 2006 в 21:39

Попробовать в .htaccess добавить:

<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"

Аватар пользователя kiev1 kiev1 25 июля 2006 в 2:11

Работает! и довольно неплохо, жмет в 5 раз а это немало.
mod_gzip: r->uri=[/index.php] OK: Bytes In:44523 Out:7711 Compression: 83 pct.
только почему-то перестала работать страничка phpinfo.php - наровит загрузится и сохранится на диск

Аватар пользователя moonman moonman 25 июля 2006 в 2:49

kiev1, ну а расшифровать чё написал можешь?
.
Чё делал штобы сжимать начало7
.
Я вот уже неделю бьюсь с этим gzip. И нифига...

Аватар пользователя kiev1 kiev1 28 июля 2006 в 4:25

вот как тут написано - копи-паст в .htaccess
http://drupal.ru/node/1908#comment-7643
правда доустановил модуль gzip к апачу так как по дефолту не стоял и добавил в конфиг апача его загрузку, но это само собой разумеется - и все заработало само, даже мозила показывает размер странички в 5 раз меньше.

Аватар пользователя clubwave.ru clubwave.ru 27 июля 2006 в 12:29

А как вы проверяете сколько данных приходит? чисто по диалапу и времени загрузки?

Проблема актуальная, раньше работал с джумла, там просто в админке выставлялось сжатие страниц.. вещь несомненно хорошая!

Аватар пользователя moonman moonman 27 июля 2006 в 12:39

clubwave.ru, нет конечно.
Очень удобно в браузере Опера9 это делать.
Показывается сколько реально загружается. И сравнивается с весом самой страницы.

Можно ещё чист опри помощи Виндовса:
Засечь сколько на счётчике, потом открыть страницу, и сравнить результаты.

Аватар пользователя clubwave.ru clubwave.ru 27 июля 2006 в 13:01

у меня инет очень быстрый ничего не успеваю засечь.. к сожалению он не у всех быстрый, поэтому задумываться стоит..

А в опере строку состояния надо включить или как?

Аватар пользователя moonman moonman 27 июля 2006 в 13:39

Да, в строке состояния показывает вес, время и т.д.

А скорость здесь не причём.
Далай так:
Нажимай в Виндовсе на два мигающих монитора внизу (панель задач).
Откроется виндовское окошко, где будет показываться исходящий и входящий траффик.
Он будет стаять неподвижно - запиши цифры.
Потом открой любую страницу и снова смотри на цифры исходящего и входящего траффика.
Потом сравни цыфры. Разница будет - закачкой.
Потом смотри реальный вес самой страницы.
И картинки должны быть отключены естественно.

Аватар пользователя clubwave.ru clubwave.ru 28 июля 2006 в 10:35

у меня даже мониторов мигающих в виндоусе нет, на работе сеть тут поумному сделана.. ладно этот вопрос на данный момент не актуален, вернусь к нему на след. неделе

Аватар пользователя moonman moonman 28 июля 2006 в 14:18

kiev1, как доустановить "модуль gzip к апачу"?
У меня хостер спейсвеб
Это мне нужно хостеру писать?
Где это вообще всё делать, все эти доустановки?

Аватар пользователя moonman moonman 11 августа 2006 в 14:39

clubwave.ru,
у меня стоит до сих пор этот вариант:
http://drupal.ru/node/848
Кэш я отключил... потому что таблица в БД (cash) разростается до 50 MB... а нахера это нужно... у меня лимит хостера на 200.