The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Компания Google выпустила модуль ускорения загрузки web-страниц PageSpeed для Nginx

26.04.2013 22:43

Компания Google представила модуль ngx_pagespeed, в рамках которого подготовлен аналог для ранее развиваемого для http-сервера Apache модуля mod_pagespeed, предназначенного для автоматической оптимизации сайта с целью увеличения отзывчивости и пропускной способности при отдаче контента. Код ngx_pagespeed распространяется под лицензией Apache.

Несмотря на то, что модуль позиционируется как бета-выпуск, он отмечается как готовый для внедрения, так как уже три месяца используется на нескольких сотнях сайтов и некоторыми хостинг-провайдерами. По данным провайдера ZippyKid, участвовавшего в начальном тестировании модуля и специализирующего на предоставлении хостинга для блогов на базе движка WordPress, использование ngx_pagespeed позволило уменьшить размер отдаваемых страниц на 75% и увеличить скорость отображения страниц на 50%.

Модулем поддерживается более 40 фильтров для оптимизации web-страниц и сопутствующих ресурсов, таких как CSS, JavaScript и файлов с изображениями. Оптимизация производится в полностью прозрачном режиме и не требует изменения содержимого сайта. Большинство из используемых в модуле методов направлены на увеличение эффективности кэширования на стороне клиента, сокращение числа запросов/ответов и уменьшение размера отдаваемых и принимаемых данных. Встроенные механизмы кэширования сводят к минимуму дополнительную нагрузку на сервер, возникающую в процессе работы модуля, минимизируя число случаев, требующих выполнения преобразований на лету. Например, реализованы такие методы, как оптимизация и сжатие изображений, уменьшение разрешения изображений (если не совпадают фактическое разрешение и указанное теге IMG), удаление избыточных данных из JavaScript-кода и CSS, удаление лишних HTML-тэгов, объединение нескольких JavaScript/CSS-файлов, оптимизация использования заголовков Expires, Cache-Control и Last-Modified.

  1. Главная ссылка к новости (http://googledevelopers.blogsp...)
  2. OpenNews: Компания Google выпустила обновление Apache-модуля mod_pagespeed
  3. OpenNews: Компания Google выпустила первый стабильный релиз Apache-модуля mod_pagespeed
  4. OpenNews: Компания Google выпустила инструментарий для оптимизации web-страниц PageSpeed Insights 2
  5. OpenNews: Компания Google открыла код Apache-модуля для ускорения загрузки web-страниц
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/36802-pagespeed
Ключевые слова: pagespeed, nginx
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Okarin (ok), 14:25, 27/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это все очень клево, конечно, но что там с нагрузкой на сервер при использовании этого модуля? Не верю, что эти оптимизации в полтора-два раза халявные.
     
     
  • 2.6, Аноним (-), 19:11, 27/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень кривой,
    Местами память не высвобождается.
    Прикрепленные библиотеки и парсеры от гугла весят порядка 500МБ
     
  • 2.9, Koope (?), 02:45, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Будете смеяться, но это чудо за собой тащит в зависимостях половину хромиума. =)
     

  • 1.2, лох (?), 14:51, 27/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    > оптимизация и сжатие изображений

    BMP/XPM что ли?

    > уменьшение разрешения изображений (если не совпадают фактическое разрешение и указанное теге IMG)

    первое что в голову пришло:
    GET image.jpg HTTP/1.1 SIZE=120x80
    интересное было бы расширение протокола НТТР???
    Есть ещё кто-то, кто регулярно указывает размеры изображений в тэге IMG?

    > удаление избыточных данных из JavaScript-кода и CSS

    это что, JavaScript-VM и браузер прямо в модуле "бегают"?

    > удаление лишних HTML-тэгов

    о да, сэкономишь кучу байтов.

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

     
     
  • 2.5, deadless (ok), 16:09, 27/04/2013 [^] [^^] [^^^] [ответить]  
  • +6 +/
    лох это судьба (с)

    взять поставить и потестить не судьба видимо, опеннетный оналитег

     
  • 2.11, Аноним (-), 15:22, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ага, и заменяет " на '
     

  • 1.3, Sylvia (ok), 15:31, 27/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    модуль вообще то уже давно выпущен, просто он был в статусе альфа, а это первая бета, которую разработчики рекомендовали попробовать в продакшене
     
  • 1.4, YetAnotherOnanym (ok), 15:34, 27/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > Есть ещё кто-то, кто регулярно указывает размеры изображений в тэге IMG?

    Вообще-то, культурные люди - указывают. Чтобы броузер сразу знал размеры боксов и мог расставить контент как надо, а не перекраивать страницу каждый раз, когда подгружается очередная картинка.

     
  • 1.7, Аноним (-), 20:51, 27/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > удаление лишних HTML-тэгов

    это может поломать javascript парсеры шаблонов ...

     
  • 1.8, Аноним (-), 20:52, 27/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    CSS группировка и в CSS перенос не реализован ??

    <div style="very big shit...."> -> group to css and replace to class or id

     
  • 1.10, Alexey (??), 11:13, 28/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    блин а чего же nginx не модульный как апач ? чтобы подцепить этот модуль нужно перекомпелироваь ngixn :(
     
     
  • 2.12, Аноним (-), 15:46, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://www.opennet.ru/opennews/art.shtml?num=36810
    да действительно... ну почему
     
     
  • 3.14, Денис (??), 15:51, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > https://www.opennet.ru/opennews/art.shtml?num=36810
    > да действительно... ну почему

    В форке Nginx под названием tengine есть такая фишка "Dynamic module loading support (DSO).You don't have to recompile Tengine when you want to add a new module."

     
     
  • 4.20, Koope (?), 01:48, 29/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Авторам этого форка в списке рассылки разработчики nginx доходчиво объяснили почему их реализация DSO полное г-но, на что китайцы ответили, что мол ну мы у себя пользуем и кое-как работает, а остальное нас не парит.
     
     
  • 5.21, Денис (??), 05:17, 29/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Если для них это работает, то почему бы и нет, тем более что альтернативы для нуждающихся в общем то и нет.
     
     
  • 6.23, Аноним (-), 18:31, 29/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Только Игорь бы исправил это
     
  • 2.13, Денис (??), 15:50, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Немного пиара :) http://repobuild.com там можно собрать Nginx под CentOS 5.x/6.x с любыми штатными параметрами + дополнительными модулями

    nginx-upstream-fair
    nginx-upload-progress-module
    mod_zip
    nginx-upload-module

    nginx-rtmp-module-master

    ngx_http_enhanced_memcached_module-master
    memc-nginx-module
    nginx-sla
    auth-request-nginx-module
    drizzle-nginx-module
    echo-nginx-module
    ngx_devel_kit
    set-misc-nginx-module
    encrypted-session-nginx-module
    form-input-nginx-module
    headers-more-nginx-module
    iconv-nginx-module
    ngx_postgres
    rds-csv-nginx-module
    rds-json-nginx-module
    redis-nginx-module
    redis2-nginx-module
    srcache-nginx-module
    xss-nginx-module

    ngx_http_limit_req_module - Взят с проекта tengine поддерживает множественные limit_req в одном location

    nginx-push-stream

    nginx_syslog

    nginx-backtrace - Взят с проекта Tengine
    nginx-http-concat - Взят с проекта Tengine
    nginx-http-footer-filter - Взят с проекта Tengine
    nginx-http-slice - Взят с проекта Tengine
    nginx-http-sysguard - Взят с проекта Tengine
    nginx-http-user-agent - Взят с проекта Tengine

     
     
  • 3.15, Аноним (-), 18:48, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нас больше заботит поддержка debian
     
     
  • 4.16, Денис (??), 19:30, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Если будет интерес собирать deb не проблема.
     

  • 1.17, XoRe (ok), 22:27, 28/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > уменьшение разрешения изображений (если не совпадают фактическое разрешение и указанное теге IMG)

    Интересно, как он узнает размеры картинки, если они указываются в ответе на другой запрос?

     
     
  • 2.18, Аноним (-), 23:08, 28/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе же сказали что этот модуль тянет за собой браузер хром и его обработчики :)
     
     
  • 3.22, XoRe (ok), 11:03, 29/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Тебе же сказали что этот модуль тянет за собой браузер хром и
    > его обработчики :)

    Это да, но он должен сначала обработать запрос на html, запомнить все img оттуда, а потом обработать запрос на img.
    И ещё не факт, что запросы на html и img придут на один и тот же фронтенд.

     
     
  • 4.24, Аноним (-), 18:36, 29/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Тебе же сказали что этот модуль тянет за собой браузер хром и
    >> его обработчики :)
    > Это да, но он должен сначала обработать запрос на html, запомнить все
    > img оттуда, а потом обработать запрос на img.
    > И ещё не факт, что запросы на html и img придут на
    > один и тот же фронтенд.

    Препроцессор есть + много кеша на диске оставляет.

     

  • 1.19, Аноним (-), 23:39, 28/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что-то у них видимо совсем линукс

    OS not supported: FreeBSD

     
     
  • 2.25, Аноним (-), 09:05, 04/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>> OS not supported: FreeBSD

    psol библиотека не поддерживает BSD

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру