Інструменти для тестування і оптимізації сайту
- Установка UnixBench 5.1.3 на Ubuntu / Debian
- Розбір результатів ApacheBench
- JMeter - тестування навантаження для гурманів
Те, що не можна виміряти, неможливо поліпшити.
лорд Кельвін
Про те, наскільки швидкість роботи сайту важлива для монетизації проекту, ми говорили не раз (навіть цілу інфографіку підготували). І якісний хостинг при цьому - хоч і обов'язковий, але не єдиний фактор, що впливає на жвавість веб-ресурсу. Тут потрібен комплексний підхід. Тому сьогодні поговоримо про декілька корисних інструментах, які допоможуть оцінити продуктивність і швидкість вашого дітища: залізо, веб-сервер, швидкість завантаження сайту.
Це завдання прекрасно вирішить UnixBench, який можна завантажити з офіційного сайту . Даний бенчмарк призначений для серверів під управлінням UNIX-подібних операційних систем. Він проводить ряд тестів, формуючи звіт з підсумковою оцінкою (приклад: результати тестування TuchaHost 1 CPU, 2 GB RAM, 125 HDD). Чим більше ця цифра, тим, відповідно, продуктивніше піддослідний сервер.
Установка UnixBench 5.1.3 на Ubuntu / Debian
wget http://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
tar xvf UnixBench5.1.3.tar.gz
cd UnixBench5.1.3
./Run
Очікуємо близько 30-40 хвилин і отримуємо результати
Примітка. Для зберігання і вивчення результатів тестування зручно використовувати pastebin.com .
Для цього можна використовувати утиліту ApacheBench з відкритим вихідним кодом, яка встановлена в стандартній дистрибуції веб-сервера Apache. Більше інформації про неї ви можете знайти на сайті Apache HTTP Server . Дана утиліта призначена для простого навантажувального тестування веб-сервера. Після завершення роботи ApacheBench формує докладний звіт, що дозволяє оцінити продуктивність веб-сервера (приклад: результати тестування TuchaHost 1 CPU, 2 GB RAM, 125 HDD).
Щоб запустити ApacheBench, необхідно на машині з встановленим веб-сервером Apache виконати команду:
ab -c <загальна кількість запитів> -n <кількість паралельних запитів> <для тестування>
Про інших параметрах, які можна задати ApacheBench, ви можете прочитати тут . Також слід пам'ятати, що бенчмарк не варто запускати на тому ж самому сервері, де розташовується досліджуваний сайт, щоб не вплинути на об'єктивність результатів.
Розбір результатів ApacheBench
На малюнку представлені деякі пояснення по параметрам, що містяться в звіті, який формується за результатами тесту. Для того, щоб сформувати уявлення про швидкість роботи веб-сервера, слід звернути увагу на наступні величини. [List]
- Кількість запитів, що завершилися помилкою (Failed requests). Самий хороший варіант - це їх повна відсутність.
- Кількість оброблених запитів за 1 секунду (Requests per second). Чим більше, тим, природно, краще.
- Середній час, витрачений на обробку запиту з урахуванням кількості одночасних запитів (Time per request (mean, across all concurrent requests). Чим менше, тим краще.
- Частка запитів, оброблених протягом певного часу (Percentage of the requests served within a certain time). Чим менше тим краще. Також добре, якщо немає різких стрибків.
[/ List]
JMeter - тестування навантаження для гурманів
Apache JMeter ( офіційний сайт ) - це більш потужний інструмент для навантажувального тестування. Він підтримує FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP і TCP і дозволяє створювати тест-плани, що, ясна річ, дозволяє отримати більш об'єктивне уявлення про продуктивність веб-сервера. JMeter має графічний інтерфейс, але також може прекрасно працювати з консолі.
JMeter підтримує різні плагіни від сторонніх розробників, з якими можна ознайомитися тут . За даним інструменту для початківців в мережі є книга Emily H. Halili «Apache JMeter» (англ.). Також є ряд статей на habrahabr.ru .
Вище ми розглянули інструменти для тестування обладнання і веб-сервера, а тепер наведемо кілька корисних інструментів для тестування швидкості завантаження веб-сайту.
- Whichloadsfaster - сервіс для порівняння швидкості завантаження сторінок двох сайтів. Наприклад, порівняння швидкості завантаження головної сторінки Google vs Bing або Amazon vs Shopzilla: SHOES! Є два режим завантаження сторінок: паралельний і послідовний. Також можна задати послідовність сторінок, які необхідно порівняти між собою, скориставшись пунктом меню «Race».
- GTmetrix - сервіс для визначення швидкості завантаження, для оцінки використовується YSlow ( Детальна інформація ) І Google Page Speed ( Детальна інформація ). Відповідно, користувачеві буде доступна детальна статистика по параметрам, які впливають на час завантаження. У ньому можна проводити порівняльне тестування двох сайтів. Даний сервіс в безкоштовній версії дозволяє зберігати 20 звітів.
- YSlow - ця утиліта також доступна поза сервісу GTmetrix. Її можна завантажити для різних браузерів ( Chrome , Firefox , Safari , Opera ), А ще її вихідні коди доступні на GitHub .
- Google Page Speed також доступний як окреме розширення для Chrome , Firefox .
На завершення відзначимо, що одним з найважливіших факторів, що визначають швидкість роботи сайту, є вибір швидкого і надійного хостингу. Робіть правильні висновки. ;) І, якщо ще не бачили, вивчіть нашу інфографіку про залежність ефективності онлайн-бізнесу від параметрів завантаження сайту.