При конфигурации распределенного тестирования столкнулся с проблемой подключения удаленных серверов находящихся за NAT.
Нода с jmeter клиентом имеет внешний ip, все сервера (3 штуки) находятся в разных сетях за NAT без возможности прямого проброса портов.
Решил попробовать SSH туннель.
На сервере:> jmeter-server -Djava.rmi.server.hostname=127.0.0.1
> ssh -N -f -R 55500:127.0.0.1:55500 -R 55501:127.0.0.1:55501 -L 60000:127.0.0.1:60000 jmuser@client_node_ip -p 5000
На клиенте:> jmeter -n -t testcase.jmx -l testcase.jtl -Djava.rmi.server.hostname=127.0.0.1 -r
Тест проходит успешно при небольшом кол-ве одновременных соединений указанных в тест кейсе (10-100).
Проблема появляется при указании большего числа одновременных сессий.
SSH туннель ломается, выдавая такие ошибки:
accept: Too many open files
open failed: administratively prohibited: open failed
Write Failed: broken pipe
Если посмотреть отладку ssh то видно что создается огромное кол-во соединений через порт 60000, такое впечатление что на каждый тестовый запрос который должен выполнить сервер создается новое соединение. Это нормальное поведение?
ulimit стоит максимальный как на сервере так и на клиенте.
В чем может быть проблема? Может был у кого опыт настройки jmeter через ssh туннель?