Top Banner
10 шагов к быстрому сайту Мациевский Николай WEBO Group, Айри.рф Партнерская конференция «1С-Битрикс»
15

10 шагов к ускорению сайта

Aug 13, 2015

Download

Internet

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 10 шагов к ускорению сайта

10 шагов к быстрому сайту

Мациевский НиколайWEBO Group, Айри.рф

Партнерская конференция «1С-Битрикс»

Page 2: 10 шагов к ускорению сайта

Ваш спецназ для ускорения сайта

• Измеряем реальную скорость и проблемные зоны

• Оптимизируем и мониторим серверные задержки

• Тратим 5 минут на сжатие и кэширование

• Оптимизируем изображения: с потерями или без

• Оптимизируем шрифты, стили и скрипты

• Откладываем загрузку картинок и виджетов

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 3: 10 шагов к ускорению сайта

Где проблема скорости?

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 4: 10 шагов к ускорению сайта

Мониторинг скорости

• Какая медиана времени ответа сервера?

• Где и когда тормозит сервер?

• CPU (MySQL | PHP), I/O (disk), RAM (Memcached)

• Что тормозит на клиенте?

• KPI: 80% загрузок сайта до 2 секунд

• Решения: New Relic, Яндекс.Метрика, mPulse,

Pingdom, Айри.рф, …

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 5: 10 шагов к ускорению сайта

Серверное окружение

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 6: 10 шагов к ускорению сайта

Серверная оптимизация

• Nginx + (php-fpm | cgi | nodejs)

• Opcode: APC, eAccelerator, Zend Optimizer

• Memcached

• MySQL: кэши

• Проверить время сброса кэшей

• 99% серверных задержек не более 200 мс

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 7: 10 шагов к ускорению сайта

Gzip + клиентское кэширование

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 8: 10 шагов к ускорению сайта

Сжатие на сервере

• Nginx: gzip on; gzip_level 7;

• Nginx: expires max;

• Nginx: gzip_static;

• Zopfli: на 5% лучше gzip 9

• Методика: zopfli -> gzip_static -> gzip

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 9: 10 шагов к ускорению сайта

Оптимизация изображений

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 10: 10 шагов к ускорению сайта

JPEG, GIF, BMP, PNG, WEBP

• Без потерь качества:

• JPEG: ExifTool, mozjpeg / jpegtran

• GIF, BMP, PNG: pngcrush, optipng, TruePNG,

zopfliPNG

• С потерями качества:

• Pngnq, ImageMagick, TruePNG

• WebP, поддержка 65%:

• На 15% меньше PNG и JPEG

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 11: 10 шагов к ускорению сайта

Оптимизация шрифтов, стилей, скриптов

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 12: 10 шагов к ускорению сайта

Шрифты, стили, скрипты

• Шрифты: fontforge (woff) +

subset.py + gzip + fontsquirrel

• Выигрыш: до 10 раз

• Стили: YUI Compressor / CSS Tidy

• Скрипты: Google Compiler / YUI

Compressor

• HTML: htmlcompressor

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 13: 10 шагов к ускорению сайта

Отложенная загрузка

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 14: 10 шагов к ускорению сайта

LazyLoad, post-load, pre-load

• LazyLoad: при скролле или после загрузки

• Загрузка виджетов и счетчиков по событию

onload

• Navigation Timing API / Navigation User API для

измерения

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ

Page 15: 10 шагов к ускорению сайта

Спасибо за внимание! Вопросы?

| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ