19 Січ
2010
Категорія: Мій Блоґ
Автор    Прокоментуй!

Перший досвід… оптимізації=)

Усім хорошого дня і ночі ;)
Сьогодні я хотів би поділитися з вами своїм першим досвідом оптимізації WordPress`у!

Перед тим як розпочати – хочу попередити усіх – що це мій перший пост на дану тему, так сказати “перший раз в перший клас” :) так що якщо напишу якусь дурницю – виправте зразу!

Перед тим як розпочати хочу сказати що приводом для цієї роботи стала стаття Skinik’а на тему оптимізації.

І так, для початку, попитавши у Гугла, я вияснив що оптимізація може бути різною:

  • оптимізація коду (чистка, стиснення РНР-коду, JS-скриптів)
  • оптимізація картинок (стиснення, зменшення, зміна формату, об’єднання зображень що використовуються)
  • оптимізація навантаження на сервер (зменшення кількості запитів на сервер, зменшення розміру баз даних)
  • налаштування кешування (тобто збереження “образів” сайту і їх загрузка замість стандартних РНР-кодів, JS-скриптів, та картинок)

Почав я із із того що виміряв швидкість завантаження сайту (користувався сервісом http://tools.pingdom.com/) без оптимізації – вона склала 9,7 секунди

Так як із РНР-кодами і JS-скриптами – в мене зараз досить туго (один раз використовував PHP-Speedy, але у мене виникли якісь проблеми із сумісністю), я почав із оптимізації картинок. Знайшовши компроміс між розміром і якістю картинок – зекономив максимум 5-6 кб – та швидкість завантаження сайту вперто залишалася на позначні 9,7 секунди :(

Далі я вирішив оптимізувати базу даних, за порадою когось із українських блоггерів, використав плагін Optimize DB, який мені сподобався простотою та функціональністю, судячи із його логу подій, моя БД була зменшена у розмірі майже в 4 рази! Та знову таки мене чекало розчарування: на швидкість завантаження сайту це ніяк не вплинуло(

Останній варіант кешування здавався мені майже фантастичним, про те, встановивши плагін Hyper Cache я почав вірити у фантастику ;)
Час завантаження блогу зменшився до 7,1 секунди! Непогано як для початку:)
…хммм… цікаво, а чи це єдиний спосіб кешувати свій сайт??? Виявляється можна! Порившись в тенетах я перечитав декілька статтей, про оптимізацію та кешування, і вичитав таку штуку як zlib.

Чим займається цей “zlib”? – він збирає та стискає РНР-код, можна сказати в режимі реального часу – ось так от!

Та тут є нюанс: Вам потрібно перевірити, чи включена функція zlib у вашого хостера – для цього можете написати в службі підтримки або перевірити самостійно:
1. Створюєм файл із будь-якою назвою (xz.php) і вписуємо в нього всього один рядок: <?php phpinfo(); ?> Заливаємо цей файл в кореневу директорію сайту.
2. Пишемо в адресному рядку браузера http://mysite.pp.ua/xz.php – вуаля – вся інфа про хочтинг на лице, точніше на екран=)) Шукаємо блок із заголовком zlib, якщо функція включена то навпроти буде написано enabled, якщо disabled – напишіть в супорт хостингу – нагадайте їм її включити=)

Відкриваєм файл header.php і перед тегом !DOCTYPE.. вставляємо код:

<?php
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', '1');
?>

Після перевірки швидкості завантаження моєму здивуванню не було меж – вона склала 4,2 секунди!!!
От таким от нехитрим способом можна розігнати сайт=)
п.с. файл xz.php можна видалити – Вам він більше не знадобиться!