Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WinSock Accept Количество одновременно открытых по 
:(
    Опции темы
lollollollol
Дата 22.9.2014, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



Известно что с помощью winsock можно октрыть примерно 5000 портов.

Пишется сервер, открыто будет 1000 портов.

Каждый порт способен одновременно обработать по 64 accept, т.е. сразу с 64 активными подключениями.


Вопрос, получается что винда способно работать, допустим сразу с 64 000 активными соединениями, или лимит 5 000 это именно на активные соединения, а не на порты?
PM MAIL   Вверх
kami
Дата 22.9.2014, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(lollollollol @  22.9.2014,  10:50 Найти цитируемый пост)
Известно что с помощью winsock можно октрыть примерно 5000 портов.

имхо, не совсем корректно.
Я нашел информацию о 4000 установленных соединений, например здесь
А вот здесь Mikel говорит о спокойно устанавливаемых 8000 соединений.

Зачем открывать такое огромное количество портов? Или речь идет про соединения?
Сегодня ночером ради интереса попробую наваять тестовые программки
PM MAIL WWW   Вверх
lollollollol
Дата 22.9.2014, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



приложение сервер, к каждому клиенту один порт. Программа клиент устанавливает 64 одновременных соединения.

Вот мне нужно рассчитать сколько клиентов может обработать один сервер на windows .


например 100 клиентов это 6400 активнх соединений, но этого мало. Вот нужно увидеть "потолок". 



Буду очень признателен за информацию по вопросу

Это сообщение отредактировал(а) lollollollol - 22.9.2014, 19:41
PM MAIL   Вверх
kami
Дата 22.9.2014, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(lollollollol @  22.9.2014,  19:39 Найти цитируемый пост)
приложение сервер, к каждому клиенту один порт.

Расточительно. Пожалейте хотя бы сисадмина. Что-то неладное у вас или с архитектурой, или с протоколом сетевого обмена. На однотипные соединения вполне достаточно одного порта. Порт 80 - тому наглядный пример.

Если по сути вопроса:
Простой тест показал, что моя система (Win7, 2Gb RAM) держит 4300 исходящих (ClientSocket) + 4300 входящих (ServerSocket) соединений, все - на одном порту (для теста взял 4558), дальше просто не стал нагружать - и без того всё затормозилось до невозможности. По всем соединениям велся незначительный обмен, выглядело это как-то так:
Код

procedure TForm8.tmrMaxActiveConnectionsTimer(Sender: TObject);
var
  i: Integer;
  tmpClient: TDataTransferClient;
begin
  for i := 0 to 50 do // наращиваем группировку соединений
    begin
      tmpClient := TDataTransferClient.Create(nil);
      tmpClient.TCPPort := MaxConnPort;
      tmpClient.IP := '127.0.0.1';
      tmpClient.Active := True;
      FClientList.Add(tmpClient);
    end;

  for i := 0 to FClientList.Count - 1 do // отправляем в них данные
    FClientList[i].SendData('123');
end;

На самом деле - можно было и больше, но 100% загрузка процессора как-то поднапрягла (больше всего загружал его Outpost, но тем не менее).

Провести реальный тест не смогу, извините - никто не выделит мне серверную платформу для подобных экспериментов smile

Тем не менее, повторюсь - что-то некорректно спроектировано, раз каждому клиенту требуется отдельный порт. Да еще и 64 соединения...

Добавлено через 7 минут и 36 секунд
Цитата(kami @  22.9.2014,  20:54 Найти цитируемый пост)
моя система ... держит

Имхо, если оставлять всё как есть - каждому по порту и куче соединений, то всё зависит от мощи сервера (аппаратная часть) и вычислительной нагрузки, которой "запряжет" его сервер (программная часть).

Конечные цифры даст только эксперимент с реальным обменом.

Это сообщение отредактировал(а) kami - 22.9.2014, 20:58

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Ports.png 41,40 Kb
PM MAIL WWW   Вверх
lollollollol
Дата 23.9.2014, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



спасибо, буду тесты проводить как вернусь к работе (наверно же завтра), о результатах отпишусь
PM MAIL   Вверх
kami
Дата 23.9.2014, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(lollollollol @  23.9.2014,  06:46 Найти цитируемый пост)
буду тесты проводить

Все-таки, очень интересно: каждому клиенту свой порт - это "не мной задумано и давно работает, ломать не дают" или "может, и можно по другому, но так будет быстрее"?
PM MAIL WWW   Вверх
lollollollol
Дата 23.9.2014, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



это мои причуды smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0500 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.