Для нагрузочного тестирования процессингового адаптера написана заглушка (работает по https). Для оценки адекватности результатов будущего теста нужно проверить на нагрузку саму заглушку. Для этого заглушку через удаленный рабочий стол запустил на серваке с Windows 2003, а нагрузку создавал при помощи JMeter со своего компа. Обе машины находятся в одном домене. При этом нагрузка не поднимается выше 20±2 запроса/с.
В производительность машины-сервака явно это не упирается, т.к. заглушка - по сути https-сервер и каждый запрос обрабатывается в новом потоке, при этом процессор не грузится даже на 5%, памяти тоже свободной навалом, к винчестеру эмулятор не обращается. Складывается впечатление, что запросы ложаться в какую-то очередь.
Смотрел в системном журнале на предмет события с айдишником 4226 (срабатывание лимита на число одновременных попыток подключения)... такое не возникало, скачал патч для tcpip.sys, вылазит сообщение что число одновременных попыток подключения (полуоткрытых соединений) не ограничено. Причем, если эмулятор стоит на моем компе, а нагрузку даю с сервака, то всё намного лучше (≈70 запросов/с), что свидетельствует о том что дело не в самой заглушке. Если заглушка и JMeter на одной машине, то тоже всё ОК. Кто подскажет, где может быть слабое звено? Или кто-то сталкивался с подобным?
Ограничение частоты запросов?
Автор Andrei_85_, 31 авг 2012 12:29
Сообщений в теме: 6
#1
Отправлено 31 августа 2012 - 12:29
#2
Отправлено 01 сентября 2012 - 17:29
Это классический bottleneck, судя по симптомам. Вполне возможно, он располагается на стороне JMeter, если используется https в режиме постоянных пересоединений. Чтобы понять это точнее нужно смотреть на загрузку проца, диска, ну и прочую телеметрию с машины JMeter. Также имеет значение не то что машины в одном домене Windows, а то как они соединены между собой сетью, так как может быть перегружен какой-нибудь свитч между ними.
Поглядите на загрузку машины с JMeter и помониторьте сеть, возможно причина найдется.
Поглядите на загрузку машины с JMeter и помониторьте сеть, возможно причина найдется.
Андрей Похилько
#3
Отправлено 01 сентября 2012 - 20:46
Посмотрите ещё на антивирус если он есть на нагрузочной машине, может это он придерживает запросы проверяя
#4
Отправлено 03 сентября 2012 - 08:27
У меня только дефолтный Security Essentials. Отключал, то же самое ))
С компа коллеги запросы летят отлично (около 100 шт/с) Значит с серваком всё ОК, да и сеть в порядке.
JMeter, конечно, долбит проц на 100%, но если заглшка запущена локально на машине, то запросов летит около 30 в секунду (уже не 20), т.е. не в системных ресурсах проблема.
Однозначно проблема на стороне моей машины. Самое логичное объяснение было бы в ограничении полуоткрытых соединений, но система пропатчена на бесконечность.
С компа коллеги запросы летят отлично (около 100 шт/с) Значит с серваком всё ОК, да и сеть в порядке.
JMeter, конечно, долбит проц на 100%, но если заглшка запущена локально на машине, то запросов летит около 30 в секунду (уже не 20), т.е. не в системных ресурсах проблема.
Однозначно проблема на стороне моей машины. Самое логичное объяснение было бы в ограничении полуоткрытых соединений, но система пропатчена на бесконечность.
#5
Отправлено 04 сентября 2012 - 15:14
JMeter, сколько потоков? Времена ответа от заглушки, какой порядок? Заглушка под чем работает, использует веб-сервер или это отдельное приложение?
Если используется IIS или Apache, возможно Вы упираетесь в количество доступных воркеров.
Если используется IIS или Apache, возможно Вы упираетесь в количество доступных воркеров.
#6
Отправлено 06 сентября 2012 - 09:56
Заглушка - отдельное приложение на основе com.sun.net.httpserver. Пытался запускать 500 потоков, но, видимо, машинка у меня слабовата... Сделал 50 циклов по 200 потоков, скорость стала 30-35 запросов/с. Времена ответов сильно разбросаны от 100 мс до 30000. Возможно и сам JMeter неадекватно времена считает в условиях 100%-й загрузки процессора. С более мощных машин всё получается намного красивее.
#7
Отправлено 07 сентября 2012 - 17:31
Попробуйте попрофилировать Jmeter со скриптом, или хип дамп сделать и посмотреть что там по коду, сам скрипт пооптимизируйте, может где нерационально написанно.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных