Як я можу відтворити журнали доступу Apache назад на моїх серверах, щоб зробити тестування завантаження в реальному світі?


13

Я переглянув Інструменти для тестування завантаження HTTP-серверів? але я не бачив, як відтворити свої власні існуючі журнали в будь-якому з цих інструментів. У мене виникла помилка, яка виникає лише при певних операціях із завантаженням, які мої існуючі тести JMeter та AB не можуть відтворити.

Я хочу просто надати інструменту access_logs і змусити його відтворювати їх швидше або з однаковою швидкістю.

Відповіді:


14

Ви можете використовувати компонент пробовідбірника журналу доступу Jmeter .

У цьому PDF- файлі є короткий посібник з його використання .


3
Я спробував це, і, очевидно, я мушу бути дебілом, тому що я не міг змусити його добре працювати. Я в кінцевому підсумку використовував сценарій python на insom.me.uk/z/2009/02/…
Стюарт Робінсон

Оскільки оригінальне посилання мертве, ось посилання в archive.org: web.archive.org/web/20090305084634/https://www.insom.me.uk/…
Walty Yeung

Добре, якщо у деяких інших це знайдеться, у цього сценарію є проблема з нанизуванням. Один , можливо , буде потрібно замінити threadLib з threadingLib ( stackoverflow.com/questions/19558401 / ... )
Walty Енг

1

Якщо припустити, що все, що ви потрапили у свій журнал доступу, - це GET-запити, і ви не заперечуєте, щоб запити збиралися на межі роздільної здатності часових позначок у журналах, приблизно 10 рядків $ SCRIPTING_LANGUAGE повинні зробити цю справу. POST, файли cookie, авторизація HTTP та більш тонкі терміни - набагато цікавіша вправа.


-1

Для цього знадобиться така програма, як програма завантаження тестування, яка підтримує перегляд журналу http. Одним із таких додатків є HTTPerf ( https://github.com/httperf/httperf ).

Стаття про те, як отримати інформацію, розміщена на веб-сторінці https://www.igvita.com/2008/09/30/load-testing-with-log-replay/


1
Це було б набагато кращою відповіддю, якби воно включало фактичне пояснення. Просто посилання на зовнішній веб-сайт тут перешкоджає, оскільки веб-сайти можуть і часто зникати.
Майкл Хемптон

-2

Я б щось робив інакше. Я розумію ваше запитання, але якщо ви дивитесь на завантаження вашого сервера, ви можете заглянути в інструмент 'ab'. Він поставляється з більшістю установок apache. Запуск:

ab -c 15 -n 1000 http://site.name/

Виконує 1000 запитів, роблячи 15 запитів одночасно. Я знаю, що це не саме те, що ви шукаєте, і це буде запитувати лише одну адресу, яку ви йому надаєте. Якщо вам потрібно завантажити, це швидкий спосіб і простий спосіб зробити це, і це дасть вам потенційно дуже корисну статистику для налагодження.


Якщо в запитанні сказано: "У мене є помилка, яка [...] тестування AB [...] не може відтворити", чому б ви запропонували використовувати AB?
живіт

Я пропустив AB, вказаний в інструментах. : p Я хотів би сказати, що це редагування, але я, чесно кажучи, не впевнений у собі.
TrueDuality

-2

Чому ти не розробиш свою власну? Отримати журнал; розібрати його. Отримайте URI. Зробіть завиток. Ви можете написати це в php і запустити його в апачі для одночасності.

Якщо ваші журнали у форматі gz, зробіть zcat, скористайтеся програмою readlog. Це дасть URL. Тепер використовуйте phpCurl, щоб потрапити на URL. Для більшої пропускної здатності запустіть його в apache (використовуйте ab для завантаження).


1
Тоді у мене буде два додатки для завантаження тесту. Це було б закручене.
Стюарт Робінсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.