Как сделать
 быстрее?
      Осторожно!
 Иногда превращается
в экономию на спичках.
CSS и JS

• в идеале клеим в 1JS + 1CSS
• google clojure или yui compressor
• в head сначала стили, потом скрипты
GZIP

• Content-Encoding: gzip
• новым браузерам отдаем сжатое
• «старым осликам» отдаем несжатое
GZIP
gzip                 on;	 	 	
gzip_min_length      500;		 	 # подбирайте эти
gzip_buffers         64 8k;	 	 # параметры сами,
gzip_comp_level      7;	 	 	 # зависят от железа
gzip_http_version    1.1;		 	
gzip_proxied         any;
gzip_types           text/plain application/xml
application/x-javascript text/css;
# text/html не надо → nginx и так это делает
GZIP static

• собирайте nginx с поддержкой
  gzip_static

• статику жмите единоразово (при
  каждом деплое) и кладите рядом с
  исходниками
GZIP static


gzip_static	 	   on;
expires          max;
Images

• собирайте картинки в спрайты
  (особенно иконки)

• минимизируйте PNG
• задавайте размеры картинок
• expires max
Logs


• выключите логи для js, css и
  картинок
Cookies

• статика на assets.domain.com
  (cookieless domain)

• запретите google analytics ставить
  куки от .domain.com
Кеш на клиенте


• max-age, etag и last-modified
• 304 с пустым телом
CDN


• Google Ajax Libraries
• Amazon Cloudfront S3
Background


• все, что требует времени,
  запускайте в фоне, не заставляйте
  пользователя ждать
Ruby on Rails


• gem jammit
• capistrano
Ссылки

•   http://clojure.org

•   http://developer.yahoo.com/yui/compressor/

•   http://nginx.ru

•   Firebug + Google PageSpeed + YSlow

•   RailsLab: Scaling Rails Podcast (№ 1, 10, 11)
Спасибо!
http://spravochnik.dn.ua/

Как сделать сайт быстрее?

  • 1.
    Как сделать быстрее? Осторожно! Иногда превращается в экономию на спичках.
  • 2.
    CSS и JS •в идеале клеим в 1JS + 1CSS • google clojure или yui compressor • в head сначала стили, потом скрипты
  • 3.
    GZIP • Content-Encoding: gzip •новым браузерам отдаем сжатое • «старым осликам» отдаем несжатое
  • 4.
    GZIP gzip on; gzip_min_length 500; # подбирайте эти gzip_buffers 64 8k; # параметры сами, gzip_comp_level 7; # зависят от железа gzip_http_version 1.1; gzip_proxied any; gzip_types text/plain application/xml application/x-javascript text/css; # text/html не надо → nginx и так это делает
  • 5.
    GZIP static • собирайтеnginx с поддержкой gzip_static • статику жмите единоразово (при каждом деплое) и кладите рядом с исходниками
  • 6.
    GZIP static gzip_static on; expires max;
  • 7.
    Images • собирайте картинкив спрайты (особенно иконки) • минимизируйте PNG • задавайте размеры картинок • expires max
  • 8.
    Logs • выключите логидля js, css и картинок
  • 9.
    Cookies • статика наassets.domain.com (cookieless domain) • запретите google analytics ставить куки от .domain.com
  • 10.
    Кеш на клиенте •max-age, etag и last-modified • 304 с пустым телом
  • 11.
    CDN • Google AjaxLibraries • Amazon Cloudfront S3
  • 12.
    Background • все, чтотребует времени, запускайте в фоне, не заставляйте пользователя ждать
  • 13.
    Ruby on Rails •gem jammit • capistrano
  • 14.
    Ссылки • http://clojure.org • http://developer.yahoo.com/yui/compressor/ • http://nginx.ru • Firebug + Google PageSpeed + YSlow • RailsLab: Scaling Rails Podcast (№ 1, 10, 11)
  • 15.