Хороший способ захвата / воспроизведения сеансов из журнала Apache? - PullRequest
7 голосов
/ 17 апреля 2010

Для тестирования производительности я хотел бы захватить некоторый трафик с рабочего сервера и использовать его в качестве основы для воспроизведения запроса на тестовом сервере, чтобы имитировать реалистичную нагрузку в нашей среде разработки. Все это запросы без сохранения состояния, поэтому никаких проблем, касающихся файлов cookie, сеансов и т. Д.

В журнале Apache все сокращается с разрешением до 1 секунды, но этого недостаточно, чтобы обеспечить пиковое время. Какой лучший способ получить более точные метки времени для воспроизведения? И есть ли какая-нибудь ab -подобная программа, генерирующая нагрузку, которая может использовать эти данные для репликации нагрузки?

Ответы [ 3 ]

4 голосов
/ 17 апреля 2010

Используйте jmeter.

https://serverfault.com/questions/84041/how-can-i-replay-apache-access-logs-back-at-my-servers-to-do-real-world-load-test

http://jmeter.apache.org/usermanual/component_reference.html#Access_Log_Sampler

Что касается гранулярности с отметками времени, вы не станете лучше, чем это. Тем не менее, вы можете рандомизировать временные интервалы в Jmeter. Даже если ваши журналы производственного трафика показывают хиты каждую секунду, вы можете указать jmeter ускорить это.

2 голосов
/ 17 апреля 2010

Вы можете захватить сетевые данные производственного прогона, проанализировать их, а затем использовать их в качестве механизма воспроизведения, сравнивая результаты производственного прогона и тестового прогона (где это необходимо). Орен Эйни (Ayende Rahien) говорит о чем-то очень похожем в своем блоге .

Я знаю, что есть (или был) инструмент, который позволял вам выполнять нагрузочное тестирование на основе записанных сессий, но сейчас я не могу его найти: (.

0 голосов
/ 13 марта 2011

Вы также можете использовать BadBoy для захвата сессий для воспроизведения с JMeter: http://www.badboysoftware.biz/docs/jmeter.htm

...