Титла: Помощ за mod_deflate
Публикувано от: abadon в Jan 20, 2010, 16:57
Здравейте, Имам работещ Apache с два виртуални хоста за сайтовете ми. Днес като си разцъквах из нета намарих тази добавка за Firefox - Page speed ($2) Тя ми каза една доста сериозна грешка нямам компресия на страницата, затова реших да си пусна такава посредством mod_deflate ($2) Прочетох документацията на този модул и тази страница ($2) след което в /etc/apache2/httpd.conf си добавих следните редове: <Location /> SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</Location>
Рестартирах апача и тествах резултата обаче Page speed-а ми казва : Compressing the following resources with gzip could reduce their transfer size by 135.9KiB (71% reduction).
* Compressing http://sitename.com/static/jquery.js could save 38.1KiB (69% reduction). * Compressing http://sitename.com/static/jquery.form.js could save 23.5KiB (73% reduction). * Compressing http://sitename.com/static/jquery.dimensions.js could save 18.4KiB (78% reduction). * Compressing http://sitename.com/$external_c/ds/%25%2510/101/10196301%25%25interface.style.css?4b445b88575fa could save 14.4KiB (77% reduction). * Compressing http://sitename.com/static/interface.js could save 9.4KiB (72% reduction). * Compressing http://sitename.com/static/json2.js could save 6.3KiB (66% reduction). * Compressing http://sitename.com/static/form_handler.js could save 5.7KiB (68% reduction). * Compressing http://sitename.com/static/swfobject.js could save 4.5KiB (67% reduction). * Compressing http://sitename.com/components/IndexProfileList.cmp.js could save 3.4KiB (71% reduction). * Compressing http://sitename.com/components/IndexPhotoList.cmp.js could save 3.3KiB (71% reduction). * Compressing http://sitename.com/static/component_handler.js could save 2.6KiB (64% reduction). * Compressing http://sitename.com/$external_c/ds/%25%25DD/DDC/DDC58E77%25%25menu-tabs.style.css?4b44575211389 could save 1013B (69% reduction). * Compressing http://sitename.com/components/BlogIndexList.cmp.js could save 657B (65% reduction). .... .....
А теста тук ($2) ми казва следното нещо: Web page compressed? Yes Compression type? gzip Size, Markup (bytes) 44,574 Size, Compressed (bytes) 7,734 Compression % 82.6 Response Headersstatus HTTP/1.1 200 OK date Wed, 20 Jan 2010 14:23:32 GMT server Apache x-powered-by PHP/5.2.4-2ubuntu5.7 expires Thu, 19 Nov 1981 08:52:00 GMT cache-control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 pragma no-cache set-cookie PHPSESSID=6ef9c4b108 a1e86c377f341303d218 84; path=/ vary Accept-Encoding content-encoding gzip content-length 7734 connection close content-type text/html; charset=UTF-8 Въпроса ми е на кога да вярвам? Сега имам ли компресия или не?
Титла: Re: Помощ за mod_deflate
Публикувано от: neter в Jan 20, 2010, 17:47
А имаш ли следните редове в apache2.conf (httpd.conf) или в конфигурационния файл на mod_deflate, ако има отделен такъв AddOutputFilterByType DEFLATE text/html text/plain text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/javascript
Титла: Re: Помощ за mod_deflate
Публикувано от: abadon в Jan 20, 2010, 20:55
Не съм знаел че mod_deflate има конфигурация. Сега я намерих /etc/apache2/mods-enabled/deflate.conf като там сложих: <IfModule mod_deflate.c> # AddOutputFilterByType DEFLATE text/html text/plain text/xml AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
DeflateCompressionLevel 9
# SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule>
И съответно конфигурацията от първия ми пост я разкарах от httpd.conf. Обаче Page speed-а продължава да си разправя същите неща. А сайтове като този ($2) и този ($2) казват: Original Size: 43.53 KB Gzipped Size: 7.52 KB Data Savings: 82.72% Scope of analysis: Real-time data -- target file compression reports only (no supporting files).
Web server type: Apache Compression status: Compressed (gzip) File Size Comparison (in bytes): Original size: 44572 bytes Compressed size: 7696 bytes Savings in bytes: 36876 bytes Percentage saved by compression: 83.0% Transfer speed improvement: 5.7 X Speed Comparison by Connection Type (in seconds): Dial-up Modem 56.0 Kbps 6.218 s 1.074 s ISDN 128.0 Kbps 2.72 s 0.47 s DSL/Cable Modem 256.0 Kbps 1.36 s 0.235 s DSL/Cable Modem 1.0 Mbps 0.34 s 0.059 s T1 1.5 Mbps 0.227 s 0.039 s
Титла: Re: Помощ за mod_deflate
Публикувано от: abadon в Jan 25, 2010, 14:30
Продължавам да го боря този mod_deflate, като днес установих следното нещо компресията работи но само на дефоут сайта ми а на виртуалния хост не иска. Интересно защо?
Титла: Re: Помощ за mod_deflate
Публикувано от: lod в Jan 25, 2010, 17:48
мм, аз набухах всичко в default, default-ssl и се получи
DeflateFilterNote Input input_info DeflateFilterNote Output output_info DeflateFilterNote Ratio ratio_info LogFormat '"%r" %{output_info}n/%{input_info}n (%{ratio_info}n%%)' deflate CustomLog /var/log/apache2/deflate_log deflate
tail -f /var/log/apache2/deflate_log
Титла: Re: Помощ за mod_deflate
Публикувано от: abadon в Jan 26, 2010, 10:16
Сложих ги тези неща за логването, но нищо не се пишеше в лога докато не сложих в конфигурацията на vhost-а това: # Enable compression for this vhost Include /etc/apache2/mods-enabled/deflate.conf #
Блъскайки къде може да е проблема, конфигурирах логването така: DeflateFilterNote deflate_ratio LogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate: %{deflate_ratio}n pct." vhost_with_deflate_info CustomLog /var/log/apache2/deflate_log vhost_with_deflate_info
Гледам лога дава че компресира нещата, но въпреки всичко page speed-а продължава да ми разправя следното: Compressing the following resources with gzip could reduce their transfer size by 38.1KiB (69% reduction).
* Compressing http://sitename.com/static/jquery.js could save 38.1KiB (69% reduction). Давам grep jquery.js /var/log/apache2/deflate_log и в лога виждам: sitename.com 195.138.149.52 - - [26/Jan/2010:09:34:18 +0200] "GET /static/jquery.js HTTP/1.1" 304 - mod_deflate: - pct.
Проверих тук ($2) и видях, че този код означавал "Не е променяно". Изтрих кеша на Лисицата. Тествам отново при което лога ми казва: sitename.com 195.138.149.52 - - [26/Jan/2010:09:34:35 +0200] "GET /static/jquery.js HTTP/1.1" 200 16710 mod_deflate: 29 pct. Натискам рефреш на страницата и в лога получавам отново код 304. Според мен компресията работи, но лисицата има някакъв кеш от който взема не компресиран този javascript и затова page speed-а реве. Като тествах с други браузъри като ie и opera според лога компресията работи. Дали са ми правилни разсъжденията?
Титла: Re: Помощ за mod_deflate
Публикувано от: niakoi в Jan 26, 2010, 10:53
Привет, според мен ти работи правилно, все пак аз проверявам с firebug req/resp. - там си пише и каква компресия е ползвана, а и други интересни неща
п.с. отдавна не съм писъл тук, надявам се да съм помогнал
поздрави нас
Титла: Re: Помощ за mod_deflate
Публикувано от: abadon в Jan 26, 2010, 11:11
Благодаря за съвета компресията си работи. А специално за static/jquery.js ми пише (cache). За всички файлове ми пише сумарно File Size:598.3kB, Transfer Size: 412.7kB което ако са ми верни сметките са си около 31% по-малко, следователно работи. Един въпрос относно конфигурацията на модула дали не е по-добре да я направя така: <IfModule mod_deflate.c> # AddOutputFilterByType DEFLATE text/html text/plain text/xml AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
DeflateCompressionLevel 9 BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule> Така би трябвало да ми компресира само посочените неща нали? Добавено:Още един въпрос се сетих има ли смисъл за пускам Zlib компресия ($2) в php-то? Като добавя в php.ini: output_buffering = Off output_handler = zlib.output_compression = On Или тази компресия се ползва за други неща, тъй като не ми стана много ясно.
|