Інструмент орієнтиру apache є дуже простим, і, хоча він дасть вам ґрунтовне уявлення про деяку ефективність, погано від нього залежати лише у тому випадку, якщо ви плануєте піддавати свій сайт серйозним навантаженням у виробництві.
Сказавши це, ось найпоширеніші та найпростіші параметри:
-c
: ("Паралельність"). Вказує, скільки клієнтів (людей / користувачів) одночасно будуть потрапляти на сайт. Під час ab
запуску -c
на сайті будуть клієнти, які потрапляють на сайт. Це те, що фактично визначає кількість стресу, який ваш сайт зазнає під час еталону.
-n
: Вказує, скільки запитів буде зроблено. Це просто визначає довжину еталону. Високе -n
значення зі -c
значенням, яке може підтримувати ваш сервер, - це гарна ідея, щоб усе не порушувалося в умовах тривалого стресу: підтримувати стрес протягом 5 секунд не так, як протягом 5 годин.
-k
: Це роблять браузери функціональності "KeepAlive" від природи. Вам не потрібно передавати значення, -k
оскільки воно "булеве" (це означає, що це означає, що ви хочете для вашого тесту використовувати заголовок Keep Alive з HTTP та підтримувати з'єднання). Оскільки браузери це роблять, і ви, ймовірно, захочете імітувати стрес і потоки, які матиме ваш веб-сайт у веб-переглядачах, рекомендується зробити орієнтир для цього.
Заключний аргумент - просто господар. За замовчуванням він потрапить на протокол http: //, якщо ви не вказали його.
ab -k -c 350 -n 20000 example.com/
Випустивши команду вище, ви будете натискати http://example.com/ 350 одночасними з'єднаннями, поки не буде виконано 20 тис. Запитів. Це буде зроблено, використовуючи заголовок "Keep Live".
Після закінчення 20 тисяч запитів ви отримаєте відгуки про статистику. Це покаже вам, наскільки добре веб-сайт виконаний під напругою, яку ви поставили під час використання вищевказаних параметрів.
Щоб дізнатися, скільки людей може працювати з сайтом одночасно, просто подивіться, чи час відгуку (означає, що мінімум та максимум разів відповіді, невдалі запити тощо) - це цифри, які ваш сайт може прийняти (різні сайти можуть бажати різної швидкості). Ви можете запускати інструмент із різними значеннями -c, поки ви не потрапите на місце, де ви скажете "Якщо я збільшу його, він почне отримувати невдалі запити і він ламається".
Залежно від вашого веб-сайту, ви очікуєте середню кількість запитів в хвилину. Це дуже різниться, ви не зможете змоделювати це за допомогою ab. Однак подумайте про це так: Якщо ваш середній користувач буде отримувати 5 запитів в хвилину, а середній час відповіді, який ви вважаєте дійсним, становить 2 секунди, це означає, що 10 секунд із хвилини 1 користувач буде на запити, тобто лише 1/6 часу це буде потрапляти на сайт. Це також означає, що якщо у вас 6 користувачів одночасно потрапляють на сайт з ab, ви, ймовірно, будете мати 36 користувачів у симуляції, навіть якщо ваш рівень одночасності (-c) становить лише 6.
Це залежить від поведінки, яку ви очікуєте від користувачів, які користуються сайтом, але ви можете отримати це від "Я очікую, що мій користувач звернеться до X запитів за хвилину, і я вважаю середній час відповіді дійсним, якщо це 2 секунди". Потім просто змініть рівень -c, поки ви не досягнете 2 секунди середнього часу відгуку (але переконайтеся, що максимальний час відповіді та stddev все ще дійсний) і подивіться, наскільки великим ви можете зробити -c.
Я сподіваюся, що я пояснив це чітко :) Удачі