Здравствуйте, Andrjuxa, Вы писали:
A>Здравствуйте. A>Есть NGINX в качестве балансера на 3 сервера Tomcat (1 сервер — 3 вируталки, на 1 виртуалке NGINX — Tomcat, на 2 других по Томкэту). Хочу получить 100% обработку запросов при высокой нагрузке. Запускаю нагрузочные тесты в JMeter, например, на 500 пользовтаелей. JMeter выдает 7 ошибок Connection timed out. В access.log nginxa 493 записи с кодом результата 200 (без ошибок), в access.log tomcat 1 сервер-165, 2-164, 3-164, итого тоже 493. Хотелось бы понять куда пропали запросы, которые "ушли" от JMeter? На чьей стороне "затык"?
Думаю, что если эти 7 сообщений пропали, значит в данном случае это проблема nginx-а, раз они не дошли до томкатов (логи ничего ведь не показали). Если хочется знать, куда они реально пошли, то если у вас windows, то можно на вашей машине поставить fiddler в качестве proxy между nginx-ом и этими томкатами и заставить все запросы от nginx-а проходить через прокси на вашем компе (к сожалению задача не так проста, потому что надо будет программировать в FiddlerScript, есть примеры на их сайте, зато fiddler точно покажет кто лажает), может они и до nginx-а не дошли. Но с другой стороны — на то он и нагрузочный тест, чтобы понять, что не со всей нагрузкой можно справиться.
Вообще для тестирования jMeter-ом советую посмотреть настройки оптимизации протокола TCP-IP как для клиента, так и для сервера. Если сервер умеет отвечать достаточно шустро, то это не значит, что клиент может так же шустро делать запросы. Клиент-то как раз сильно ограничен в запросах и иногда нужно тестировать сервер с нескольких машин параллельно.