Вниз
Скачать: 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.009 c
6-30936
Andrews
2002-03-27 15:40
2002.06.10
Не могу открыть файл на чтение, из сетевой папки Read Only


1-30809
Hogo
2002-05-31 12:39
2002.06.10
Как показать поверх


1-30752
Great DAN
2002-05-30 11:21
2002.06.10
Работа с файлами


6-30954
Shaman_
2002-04-02 00:26
2002.06.10
Прохождение авторизации на NT сервере


3-30717
Валя
2002-05-18 15:36
2002.06.10
Хелп!!!




   Наверх