Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор архитектуры для нагруженного сервера 
:(
    Опции темы
fry
Дата 15.4.2009, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Lazin, ты сам ответил на свой вопрос:
Цитата

Какую архитектуру сервера стоит выбрать?

Я и предложил. К тому, что должен делать метод. Этот метод может как минимум выполнять операции В\В через сокет:
Цитата

с порождением задач - некоторый класс с функцией exec() - для каждого соединения

По части количества потоков. Думаю для этого надо иметь ввиду еще и политику планирования их выполнения, хотя конечно надо проверять (в целом это как пример было); ИМХО может зависеть от конкретной ОС. Кстати при такой архитектуре контекст выполнения будет абстрагирован от данных о задаче, что заранее даст возможность развития кода в сторону кластерных систем,а при увеличении количества обрабатываемой информации(файлообмен например) это может быть интересным.
Р.S. "Должно сработать" звучало главным образом относительно небольшого количества данных, обрабатываемых сервером при большом количестве клиентов при архитектуре "один поток - одно соединение".
PM MAIL   Вверх
Artemon
Дата 16.4.2009, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

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



Цитата

....не берем такую архитектуру   сразу откладываем...


2 года работает у меня такой сервер.
Держит постоянно 1000 клиентов.
Нагрузка на железо минимальная.
Постоянно шарит по БД размером 15гб.

P.S.
Это я про сервер один поток - одно соединение.

Это сообщение отредактировал(а) Artemon - 16.4.2009, 06:13


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
azesmcar
Дата 16.4.2009, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата

2 года работает у меня такой сервер.
Держит постоянно 1000 клиентов.
Нагрузка на железо минимальная.
Постоянно шарит по БД размером 15гб.


Там написано 2000-3000.
3000 потоков на одной машине??? smile 
PM   Вверх
Lazin
Дата 16.4.2009, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Цитата(azesmcar @  16.4.2009,  07:08 Найти цитируемый пост)
3000 потоков на одной машине???

а почему нет? Правда расходы на каждого клиента большие, каждый поток должен иметь стек, допустим 1Мб, тогда получается 3К потоков, это примерно 3Гб, для современного сервера - не вопрос. Другой ресурс - процессороное время, расходы на работу планировщика задач будут очень большими при такой архитектуре, сколько процентов времени своей работы процессор будет выполнять код планировщика задач я не могу сказать, но могу предположить что много smile 
Но при небольшом количестве клиентов покатит.

http://www.boost.org/doc/libs/1_38_0/doc/h...o/examples.html
на этой странице есть пример чата(клиент и сервер) использующие boost.asio smile

Добавлено через 2 минуты и 5 секунд
правда он там однопоточный smile 
PM MAIL Skype GTalk   Вверх
azesmcar
Дата 16.4.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата

а почему нет? Правда расходы на каждого клиента большие, каждый поток должен иметь стек, допустим 1Мб, тогда получается 3К потоков, это примерно 3Гб, для современного сервера - не вопрос. Другой ресурс - процессороное время, расходы на работу планировщика задач будут очень большими при такой архитектуре, сколько процентов времени своей работы процессор будет выполнять код планировщика задач я не могу сказать, но могу предположить что много smile 

размер стека 1мб это значение по умолчанию, его можно изменить..а почему нет - так ты сам на свой вопрос ответил smile 
Цитата

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

PM   Вверх
J0ker
Дата 16.4.2009, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Artemon @  16.4.2009,  06:12 Найти цитируемый пост)
Это я про сервер один поток - одно соединение.

не понимаю чем не подходит паттерн "реактор"


--------------------
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




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


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

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