Создание одновременных запросов с разных серверов на целевой сервер

alPacino

Guest
Создание одновременных запросов с разных серверов на целевой сервер

Доброе время суток!

Задача: есть некая система, работающая на целевом сервере, дял которой необходимо рассчитать производительность опятным путем (искусственно формировать некоторое количество наиболее реалистичных запросов с разных машин).

Один из вариантов решения: на целевом сервере запустить демон, на всех N машинах fork'ом запустить M процессов, которые при запуске коннектятся к демону целевого сервера и ждут команды. Демон посылает некую команду всем подключенным процессам, а те, в свою очередь, формируют запрос на целевой сервер.

С радостью выслушаю змечания/комменты по данной задаче.
Заранее благодарен.
 

alPacino

Guest
Может я немного неправильно расставил акценты при описании задачи, но большей проблемой является генерация потока одновременных запросов на целевой сервер. А в итоге надо построить график:
ось X - кол-во запросов/сек.
ось Y - время обработки
 

alPacino

Guest
Хм...
Насколько я понимаю назначение ab, она (утилита) позволяет оценить временные затраты определенного запроса (одного), но перед оценкой нужно еще сгенерировать поток одновременных запросов, для каждого из которых, возможно, уже и использовать ab.
Т.е. как ты оцениваешь вышеуказанный алгоритм генерации потока одновременных запросов?
Спасибо
 

alPacino

Guest
Ну можно и процесс...Суть не в том, демон это или процесс, а в том, насколько приемлемо решение генерации запросов. Может есть какой-то другой метод, менее извратный?
ЗЫ: генерация запросов через web (mod_php) врядли подойдет, поскольку apache скорее всего поставит запросы в очередь. Да и одновременные запросы с разных серверов надо бы как-то реализовать.
 

Tor

Новичок
ab позволяет отправлять одновременные запросы
man ab
 

Фанат

oncle terrible
Команда форума
а какая разница - с разных серверов идут запросы, или с одного?

а вообще, не нравится мне такое "тестирование"...
 

alPacino

Guest
For Tor:
ab позволяет отправлять одновременные запросы
man ab
Он то умеет, но время он показывает от начала транзакции и до получения ответа, а нам надо некое внутреннее время, которое в данный момент уже рассчитывается. Да и результат не возващает, насколько я знаю.

For Фанат:
а какая разница - с разных серверов идут запросы, или с одного?
Разница в том, что для нас имеет значение, с какого IP пришел запрос. Да и при генерации ооооочень большого кол-ва запросов может произойти небольшая задержка
а вообще, не нравится мне такое "тестирование"...
А какое "тестирование" для тебя приемлемо и что именно в данном решении задачи тебе не нравится?
 

Tor

Новичок
но время он показывает от начала транзакции и до получения ответа, а нам надо некое внутреннее время
внутренне=общее - константа

Да и результат не возващает, насколько я знаю.
о, теперь нам и результат понадобился
а зачем?
 

alPacino

Guest
внутренне=общее - константа
Не совсем константа. Зависит от загрузки сервера и канала. Т.е. время, которое мы получаем при помощи ab - это не время обработки данных.
о, теперь нам и результат понадобился
а зачем?
Для того, чтобы лишний раз убедиться, что система правильно обработала запрос. Просто ответом является не HTML-страница, а данные другого рода.
 

Tor

Новичок
Не совсем константа. Зависит от загрузки сервера и канала. Т.е. время, которое мы получаем при помощи ab - это не время обработки данных
загрузка канала, если машины стоят рядом, может быть померяна и принята константой
загрузку сервера ты как-раз и находишь

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