Подтвердить что ты не робот

Gzip или не gzip

Я продолжаю слышать, что gzip ваш сайт является хорошей практикой для ускорения доставки. Мой сайт имеет очень большую нагрузку в целом, должен ли я по-прежнему смотреть в gzip? Я также читал о недостатках использования gzip, таких как время, необходимое для распаковки содержимого для отображения браузера. Это правда?


UPDATE:

Этот вопрос основан на предположении, что сайт уже довольно оптимизирован.

Собственно, я уже оптимизировал его. Большая часть контента на моем сайте управляется db, и изначально потребовалось некоторое время, чтобы загрузить все это, поэтому я сделал несколько сценариев, которые запускаются ночами, генерируют контент и хранят его как статические HTML файлы, которые включены в самые тяжелые страницы с торговлей людьми. Нагрузка на сервере ниже его возможностей, поэтому, спасибо за это понимание, я буду рассматривать его более серьезно сейчас. Я думал об использовании некоторого PHP-класса, который делает это динамически. Есть ли у вас рекомендации?

4b9b3361

Ответ 1

Сжатие вашего ответа поможет с временем передачи. Это означает, что это уменьшит время, необходимое пользователю для загрузки созданной страницы. Он не будет (в общем) уменьшать нагрузку на ваш сервер. Фактически, он может немного увеличить его, поскольку само сжатие не является бесплатным (он переваривает некоторые циклы процессора).

Как правило, нет недостатка в пользовательском опыте (только преимущества).

Однако, если ваш сервер уже загружен, я бы, вероятно, пропустил его, так как он добавит только эту нагрузку (в общем). Сначала оптимизируйте код, затем добавьте сжатие. Не пытайтесь добавить сжатие в виде полосы для плохо оптимизированного кода (это не сработает)...

Ответ 2

Вы должны gzip ваш контент, потому что:

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

Вы также должны прочитать часть gzip из лучших практик yahoo.

Ответ 3

Я согласен с @ircmaxell. Вы должны попытаться оптимизировать свое приложение - если база данных плохо оптимизирована или есть глупые запросы, она не сделает никакой магии для вас. Напротив, вы ничего не потеряете - процессор будет страдать от некоторой дополнительной нагрузки, но это может серьезно снизить использование полосы пропускания. Благодаря большинству современных браузеров поддержка сжатия GZIP заключается только в том, что сервер запрашивает у клиента, поддерживает ли его браузер. Подробнее http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

Возможно, вам также стоит попробовать использовать его с некоторыми модулями кэширования, как предлагалось @Andrew Sledge. Попробуйте APC:-) http://www.php.net/manual/en/intro.apc.php. Также попробуйте сжать css файлы, изображения или js файлы. Я использовал для создания всей сети статически, а затем обновлял только измененные страницы - это определенно зависит от скорости обновления.

Ответ 4

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

Поскольку вы делаете статические файлы в ночное время, я предлагаю заглянуть в zopfli сжатие статических файлов здесь php lib. В частности, поскольку сжатие zopfli на 5% больше, чем стандартное gzip, и его не нужно делать каждый раз (вы делаете это один раз, когда статический файл создается и сохраняет его таким образом). Затем вы можете обслуживать gziped файл по запросу пользователей, которые поддерживают gzip (вам не нужно на сжатие на лету таким образом). Для пользователей, которые не поддерживают gzip, вы можете gunzip на своем сервере (это уменьшает количество операций ввода-вывода, поскольку размер zip файла меньше разархивированного версия, по существу своя сводка на лету).

Вы все равно должны использовать сжатие на лету для динамического содержимого (но не zopfli, потому что оно имеет более высокое время/стоимость).

Что касается времени, связанного с zopfli, то ставим статический контент: до тех пор, пока он обращается более чем 100 раз в день, это стоит того делать, поскольку он требует около 100 раз больше вычислительной мощности, чем стандартный gzip. Таким образом, как только вы нажмете 101, ваш процессор официально сделает меньше обработки, чем на сжатие мухи.

Ответ 5

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

  • сжатие GZip
  • Свернуть javascript, css и html
  • Уменьшить запрос, объединив файлы

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