Интересует следующие моменты. Есть Win 2003 Server на нем стоит программа, которая ожидает входящие подключения. Функционал программы такой: 1) Приконнектился клиент 2) Его сокет перевелся в неблокируемый режим и добавился в очеред опросов. 3) Поток опроса проверяет все сокеты на пришедшие данные, если данные есть, то считывает их и посылает ответ. И так далее пока клиент не отрубится или пока сервак не отрубит клиента. Если учитывать следующий факт: 1) Win 2003 Server (какая лучше версия для этого?) 2) проц 2-4 ядра. По 2 потока на 1 ядро для опроса сокетов 3) памяти 4 гига (с включенным PAE) 4) прога единственнай процесс который активно использует ресурсы. 5) специфический настроект в реестре для TCPIP не вносилось. И вот интересует главный вопрос: Какое максимальное кол-во клиентов может быть подключено таким образом? И что можно сделать в плане тюнинга ОС чтобы тянуло большое кол-во коннектов. Обязательное условие - это Win2003 или Win2008 при этом 32 битная.
В том то и дело что нужно точное значение. Или хотябы почти точное. 1000, 10 тыс, 100 тыс, 1 лям. хотябы какого порядка.
Derek Нет, это совершенно другое. То что ты дал линк - это ограничения на исходящие подключения с одного компа на другой. А тут необходимо узнать сколько входящих подключений можно будет обрабатывать
slesh Вы говорите вот про это http://www.manhunter.ru/download/399/Windows.LanServer.Connection.Limit.patch.zip, но только в разрезе серверных осей?
slesh Теоретически не больше 65000 одновременных подключений. Потому что номер порта, который выделяется для каждого подключения - это unsigned short. Так как винда серверная, других ограничений быть не должно.
Atlantic ересь каждое соединение идентифицируется 4я параметрами ип и порт сервера и ип и порт клиента. то есть получается 2^16 * весь диапазон ипов
65k это может быть открыто портов. А когда клиент коннектится то никаких портов левых не открывается, а то что светится второй порт - это порт открытый на компе клиента. Так что тут дело не в этом. Для XP делал тесты. Максимум 214k сокетов смог создать через socket() потом система повисла. На 2003 наверное будет больше, но сокеты это одно, а кол-во реальных подключений - это совсем другое
В том-то и дело что там не говорится ничего толком про Windows. Вообще пока переписываю всё на IOCP но всё равно хотелось бы точно знать кол-во. Придется заказывать ддос атаку на самого себя )
slesh, вот тут есть про Windows (не по ссылке, а в самой книжке), есть конкретные цифры, и есть теоретические обоснования лимитов. Хотя книжка несколько устарела, да.
2 iZzz32 в томто и дело что данные устаревшие там. и интересует именно win 2003 и выше. Да и сомнения большие есть. Допустим написано Non-blocking 7000/4011 Хотя на деле софт созданный на основе Non-blocking показывал производительность в 36 тысяч реально установленных коннектов, между которыми передавались данные. И это всё на обычной Win 2003 с 4-х ядерным процессором.