| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > WinSock Accept Количество одновременно открытых по |
| Автор: lollollollol 22.9.2014, 10:50 |
| Известно что с помощью winsock можно октрыть примерно 5000 портов. Пишется сервер, открыто будет 1000 портов. Каждый порт способен одновременно обработать по 64 accept, т.е. сразу с 64 активными подключениями. Вопрос, получается что винда способно работать, допустим сразу с 64 000 активными соединениями, или лимит 5 000 это именно на активные соединения, а не на порты? |
| Автор: lollollollol 22.9.2014, 19:39 |
| приложение сервер, к каждому клиенту один порт. Программа клиент устанавливает 64 одновременных соединения. Вот мне нужно рассчитать сколько клиентов может обработать один сервер на windows . например 100 клиентов это 6400 активнх соединений, но этого мало. Вот нужно увидеть "потолок". Буду очень признателен за информацию по вопросу |
| Автор: kami 22.9.2014, 20:54 | ||
Расточительно. Пожалейте хотя бы сисадмина. Что-то неладное у вас или с архитектурой, или с протоколом сетевого обмена. На однотипные соединения вполне достаточно одного порта. Порт 80 - тому наглядный пример. Если по сути вопроса: Простой тест показал, что моя система (Win7, 2Gb RAM) держит 4300 исходящих (ClientSocket) + 4300 входящих (ServerSocket) соединений, все - на одном порту (для теста взял 4558), дальше просто не стал нагружать - и без того всё затормозилось до невозможности. По всем соединениям велся незначительный обмен, выглядело это как-то так:
На самом деле - можно было и больше, но 100% загрузка процессора как-то поднапрягла (больше всего загружал его Outpost, но тем не менее). Провести реальный тест не смогу, извините - никто не выделит мне серверную платформу для подобных экспериментов Тем не менее, повторюсь - что-то некорректно спроектировано, раз каждому клиенту требуется отдельный порт. Да еще и 64 соединения... Добавлено через 7 минут и 36 секунд Имхо, если оставлять всё как есть - каждому по порту и куче соединений, то всё зависит от мощи сервера (аппаратная часть) и вычислительной нагрузки, которой "запряжет" его сервер (программная часть). Конечные цифры даст только эксперимент с реальным обменом. |
| Автор: lollollollol 23.9.2014, 06:46 |
| спасибо, буду тесты проводить как вернусь к работе (наверно же завтра), о результатах отпишусь |
| Автор: kami 23.9.2014, 07:45 |
Все-таки, очень интересно: каждому клиенту свой порт - это "не мной задумано и давно работает, ломать не дают" или "может, и можно по другому, но так будет быстрее"? |
| Автор: lollollollol 23.9.2014, 14:46 |
| это мои причуды |