Главная страница
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.016 c
14-35050
mox
2003-05-27 20:48
2003.06.12
Перезагрузка Windows


14-34965
Леприкон
2003-05-26 07:42
2003.06.12
Последний школьный звонок 2003 года


3-34729
DedMoroz
2003-05-18 21:51
2003.06.12
Paradox


3-34673
kir_kul
2003-05-22 13:00
2003.06.12
Как найти различия в двух таблицах.


1-34799
mirk
2003-06-02 13:38
2003.06.12
Чтение данных из текстового файла