drupal optimization

17
Drupal Optimizatio n

Upload: dmytro-kinakh

Post on 15-Apr-2017

335 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Drupal Optimization

Drupal Optimization

Page 2: Drupal Optimization

Що оптимізовувати?1. Запити до бази даних;2. Завантаження CSS та Javascript;3. Зображення;4. Непотрібні модулі.

Page 3: Drupal Optimization

Крок 0 - Штатні інструменти оптимізації DrupalСторінка Administration»Configuration»Development»Performance- кешування для анонімів;- кешування блоків;- агрегація CSS;- агрегація JavaScript.

Page 4: Drupal Optimization

Кешування блоківDRUPAL_CACHE_PER_ROLE; DRUPAL_CACHE_PER_USER;DRUPAL_CACHE_PER_PAGE;DRUPAL_CACHE_GLOBAL;DRUPAL_CACHE_CUSTOM;DRUPAL_NO_CACHE;

Page 5: Drupal Optimization

Крок 1 - вимикаємо вбудовані інструменти

1. Вимикаємо - update manager;2. Вимикаємо модуль devel;3. Вимикаємо overlay;4. Вимикаємо тулбар та встановлюємо administration

menu;Примітка: Вимикаємо і видаляємо всі модулі які не використовуються на сайті.

Page 6: Drupal Optimization

Крок 2 - статичні сторінкиBoost - модуль дозволяє кешувати сторінки для анонімних користувачів. Модуль дозволяє пізніше серверу віддавати закешовані сторінки в декілька разів швидше, оскільки запитів до бази даних не відбувається.

Page 7: Drupal Optimization

Крок 3 - редагуємо .htaccess файл# Use mod_deflate to gzip components<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/css application/x-javascript application/javascript text/plain text/html text/xml application/xml</IfModule># Disable ETagsFileETag None

Page 8: Drupal Optimization

Крок 4 - підключаємо CDN

Page 9: Drupal Optimization

Крок 5 - Alternative PHP CacheРозширення PHP APC робить дві корисні речі:- кешує скомпільовані файли php, при повторному

зверненні їх не доведеться заново читати з диска і компілювати,

- кешує змінні, поміщені в пам'ять APC програмістом між завантаженнями сторінок, знижуючи навантаження на mysql. В Drupal-і для цього замінюється стандартний кеш.

Page 10: Drupal Optimization

Крок 6 - Varnish

Page 11: Drupal Optimization

Крок 7 - mod_pagespeedМодуль представляє з себе набір фільтрів, кожний з них і приклади використання представлені і описані в документації. Застосовувати і використовувати модулі слід виходячи з потреб свого проекту, у кожного фільтра є свої особливості, які слід врахувати при використанні, звертаючи увагу на розділ «Risks» в їх документації.

Page 12: Drupal Optimization

Крок 8 - XHprofПрофілювання - це процес аналізу роботи додатку для збору інформації про продуктивність (збір набору характеристик - час, використання оперативної пам'яті і ресурсів процесора, кількість викликів функцій і так далі). Відповідно інструмент, який використовується для цього, називається профайлером. Профайлери в більшості випадків використовують щоб знайти хот-спот в додатку ("гаряче місце", тобто ділянка коду, час виконання якого невиправдано великий).

Page 13: Drupal Optimization

Крок 9 - SPDY SPDY (читається як «speedy», «спіді») — протокол прикладного рівня для передачі веб-вмісту, розроблений корпорацією Google. Основним завданням SPDY є зниження часу завантаження веб-сторінок та їх елементів. Це досягається за рахунок розстановки пріоритетів і мультиплексування передачі декількох файлів таким чином, щоб було потрібно тільки одне з'єднання для кожного клієнта.

Page 14: Drupal Optimization

Крок 10 - WatchdogЖурнал системних подій

Page 15: Drupal Optimization

Перевірка результатів оптимізації

Page 16: Drupal Optimization

Сервіси для тестування швидкодії сайтів- loadimpact.com

- PageSpeed

- YSlow

- Pingdoom

- Gtmetrix

Page 17: Drupal Optimization

Дякую за увагу