Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

какие пиковые нагрузки выдерживает TServerSocket???   Найти похожие ветки 

 
SKR   (2003-04-09 14:22) [0]

Доброго времени...
Подскажите плз
какие пиковые нагрузки выдерживает TServerSocket
в режиме блокировки нитей(stThreadBlocking)...
Особо волнует вопрос о том сколько нитей может быть запущено
одновременно...
И как все это сказывается на времени обработки....


 
Digitman ©   (2003-04-09 16:04) [1]


> сколько нитей может быть запущено
> одновременно


теоретически - число, которое может быть представлено значением типа Integer

практически - ограничение ОС на макс.число кодовых потоков в контексте процесса


> как все это сказывается на времени обработки


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


 
SKR   (2003-04-09 16:37) [2]

Спасибо конечно за ответ...
Но мне бы хотелось не теоретически...
(все теории из справки я уже прочитал..
а увидеть дохлый сервак нехочется...)
в моей ситуации мощность сервера я могу наращивать
почти до упора возможностей...
сами процессы тоже придельно простые...
(исходник уместится на листе А4)
Мне интересно запустив какое число нитей реально сдохнет
процесс. Мне надо обеспечить большое(~1000) число соединений
на короткий промежуток времени(2-3 мин)
Может кто уже этот компонент мучал...


 
Polevi ©   (2003-04-10 10:03) [3]

1000 соединений - надо использовать асинхронный режим


 
Digitman ©   (2003-04-10 10:18) [4]


> SKR


отложи на время тяжкие думы про TServerSocket (его ограничения, в 1-ю очередь, связаны с ограничениями WinSock на число одновременно открытых тек.процессом и/или системой в целом гнезд)

проведи простой эксперимент :

type
TMyThread = class(TThread)
protected
procedure Execute; override;
end;

const MaxThreads = 1000;

var
Threads: array[0..MaxThreads - 1] of TMyThread;

...

procedure TMyThread.Execute;
begin
while not Terminated do
Sleep(1);
end;

for i:= 0 to MaxThreads - 1 do
begin
Threads[i] := TMyThread.Create(False);
end;

for i:= 0 to MaxThreads - 1 do
begin
Threads[i].Free;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-34750
___esso
2003-05-23 20:45
2003.06.12
Значение поля


8-34940
DeveloperX
2003-02-28 22:58
2003.06.12
Визуализация


1-34915
Cherepovets
2003-06-02 00:16
2003.06.12
String Gril и печать


3-34736
BBCHa
2003-05-23 17:17
2003.06.12
Какая-то злая ошибка


8-34937
Tihas
2003-03-01 23:41
2003.06.12
Тут такая проблемма....