Назад | Перейти на главную страницу

Как я могу воспроизвести журналы доступа Apache на моих серверах, чтобы выполнить нагрузочное тестирование в реальном мире?

я смотрел на Инструменты для нагрузочного тестирования HTTP-серверов? но я не мог понять, как воспроизвести мои собственные существующие журналы в любом из этих инструментов. У меня есть ошибка, которая возникает только при определенных операциях загрузки, которые мои существующие материалы для тестирования JMeter и AB не могут воспроизвести.

Я хочу просто дать инструменту access_logs и воспроизвести их быстрее или с той же скоростью.

Вы можете использовать Jmeter Образец журнала доступа составная часть.

Есть краткое руководство по его использованию в этот PDF.

Предполагая, что все, что у вас есть в вашем журнале доступа, - это запросы GET, и вы не возражаете, когда запросы группируются на пределе разрешения временных меток в журналах, около 10 строк $ SCRIPTING_LANGUAGE должны помочь. POST, куки, HTTP-аутентификация и более тонкое определение времени - гораздо более интересное упражнение.

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

Практическая статья находится по адресу https://www.igvita.com/2008/09/30/load-testing-with-log-replay/

Я бы сделал что-то немного по-другому. Я понимаю ваш вопрос, но если вы хотите загрузить свой сервер, вы можете изучить инструмент «ab». Он поставляется с большинством установок apache. Бег:

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

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

Почему бы тебе не разработать свой собственный? Получите журнал; проанализируйте это. Получите URI. Сделайте вызов curl. Вы можете написать это на php и запустить в apache для параллелизма.

Если ваши журналы имеют формат gz, выполните zcat, используйте средство чтения журнала. Это даст URL. Теперь используйте phpCurl для перехода по URL-адресу. Для более высокой пропускной способности запустите его в apache (используйте ab для загрузки).