On Wed, Oct 14, 2015 at 05:47:53PM +0300, Сергей Пузырёв wrote: > Мне кажется, вы недопонимаете свою проблему. > > Нельзя иметь более 65000 соединений к одному удаленному порту одного > удаленного IP-адреса с одного локального IP-адреса. > Можно иметь 65000 соединений к одному удаленному порту одного удаленного > IP-адреса с одного локального IP-адреса и еще 65000 соединений к другому > удаленному порту этого же удаленного IP-адреса с того же локального > IP-адреса.
+1 Здесь возникает EADDRNOTAVAIL (99) при connect(2) вследствие того, что сервер, пытаясь создать tcp-соединение с квадруплетом параметров (src_ip, src_port, dst_ip, dst_port) исчерпывает диапазон src_port при фиксированных трёх других параметрах (src_ip=15.15.72.198, dst_ip=10.17.17.38, dst_port=5003). При вызове connect(2) ядро перебирает лишь возможные значения src_port и сталкивается с тем, что все квадруплеты уже заняты, потому и возвращает ошибку. Если увеличить число dst_port и/или dst_ip, то пространство состояний для возможных коннекций расширится. > 14 октября 2015 г., 17:38 пользователь kpoxa <[email protected]> написал: > > > При чем тут где бэкэнд? Коннекты к любому количестве внешних портов будут > > идти всё равно он одного адреса, вопрос с исходящими соединениями на > > севрере с nginx, а не с входящими где бэкэнд, первые ограничиваются числом > > портов у используемого адреса, а вторые этого ограничения не имеют. > > > > 14 октября 2015 г., 17:33 пользователь Evgeniy Berdnikov <[email protected]> > > написал: > > > > On Wed, Oct 14, 2015 at 05:14:55PM +0300, kpoxa wrote: > >> > коннекты на 127.0.0.1 тоже конечны, разве что применять unix socket в > >> этом > >> > месте. > >> > Вот если бы можно было сделать > >> > upstream ws { > >> > server 10.17.17.38:5003 bind 10.17.17. <http://10.17.17.38:5003/>100; > >> > server 10.17.17.38:5003 bind 10.17.17. <http://10.17.17.38:5003/>101; > >> > server 10.17.17.38:5003 bind 10.17.17. <http://10.17.17.38:5003/>102; > >> > } > >> > но тут нужно внедрять это в код nginx. > >> > >> А что мешает поднять бэкенд на разных портах: 10.17.17.38:5003, > >> 10.17.17.38:5004, ..:5005, и т.д.? Или на разных ip-адресах. > >> -- > >> Eugene Berdnikov > >> > >> _______________________________________________ > >> nginx-ru mailing list > >> [email protected] > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > > > _______________________________________________ > > nginx-ru mailing list > > [email protected] > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > -- > С уважением, > Сергей Пузырёв > тел.: +7-916-980-70-45 > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Eugene Berdnikov _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
