Вниз
Скачать: CL | DM;

Наименьшая из зол - вопрос по скорости/ресурсам для сервера   Найти похожие ветки 

← →
SV ©   (2002-03-23 09:38) [0]

Hi, мастера, мне нужен совет. Надо сделать сервер для 40-50 клиентов. Есть 3 варианта:
1) Каждому клиенту свой поток
(т.к. распред. поцессорного времени по потокам-> моему процессу больше времени, но огоромное число переключений тормозит систему)
2) Всё через перекрытый ввод-вывод или select или AsyncEvent, etc
(На счет произв. не знаю, но одному 1 потоку кант времени на одного)
3) 1 поток на n клиентов
(компромисное решение)

WaitForMultipleMastersHelp(INFINITE)
/SV/


← →
paul_shmakov ©   (2002-03-25 01:39) [1]

microsoft советует использовать везде асинхронный ввод/вывод, что позволяет достичь максимальной производительности с минимальным overhead-ом. хотя программировать его несколько сложнее, чем синхронный ввод/вывод.

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

лучший вариант - это использовать асинхронный ввод/вывод и динамический пул потоков, количество потоков в котором будет менятся в зависимости от нагрузки на сервер. но не стоит делать большое количество потоков в пуле - 3-4 - это максимум.
ну а при низкой нагрузке - 1-2.

в пуле - рабочие потоки, которые и будут выполнять полезную работу. еще один поток - диспетчер, принимающий информацию об асинхронных операциях и помещающий эту информацию в очередь для обработки рабочими потоками.


← →
SV ©   (2002-03-27 21:37) [2]

Вот тут ещё информацию дали: сервер должен на W2000 работать-> можно порты завершения использовать. Там как раз пулы. Как считаете - решение подходящее?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
1-30887
rank
2002-05-26 04:01
2002.06.10
Сортировка в AdvStringgrid


1-30825
Do the right thing
2002-05-31 15:25
2002.06.10
про shelllistview


8-30930
Allin
2002-01-09 05:05
2002.06.10
Есть ли у кого пример движка от diablo или Квака 2


3-30699
Blade
2002-05-18 11:50
2002.06.10
Мультинитиевое приложение для работы с БД


1-30890
Leo^Sun
2002-05-30 06:58
2002.06.10
Список чисел




   Наверх