crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

crashsp
  опции профиля:
сообщение 25.4.2012, 4:32
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 23.10.2010
Пользователь №: 2144

Спасибо сказали: 8 раз(а)




Репутация:   546  


Доброго времени суток, сейчас есть написанный winsock сервер , но изначально не был продуман вопрос нагрузки , ну вот в сети у нас появилось более 2000 устройств которые ломятся на него с периодичностью 15 сек , как следствие возникли проблемы , в принципе увеличили таймером на 1 минуту стало полегче , но в любом случая рано или поздно и этого станет мало...А мне надо как минимум 5000 соединений обрабатывать с адекватными задержками, дальше уже думаю делать распределение по другим серверам.

Если честно не хочется больше ковырять этот MFC ' ишный проект, по коментам из разных источников решение моих проблем это boost.asio , прошу расскажите как должна выглядеть архитектура, возможно какие то свои наработки, может какая инфа на доступном языке, ну и вообще Ваше мнение.

PS: Web Server потому что хочется за одно облегчить логику на стороне клиента.

Благодарю.

Сообщение отредактировал crashsp - 25.4.2012, 4:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 25.4.2012, 10:45
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


железо сойдёт (хотя, лишних памяти, ядер и частоты не бывает :D )

архитектура не очень.
50 потоков - надеюсь, все разом не пытаются работать! :)
Ты там наверняка ещё извещения используешь от сокетов ? Я без них обошёлся - так шустрее

(цитата из описания выполненного задания)
Цитата
Приборы (клиенты) подключаются к серверу и присылают данные по протоколу TCP/IP. Программа читает данные и складирует в базу данных.

Реализован конвеер из 4 потоков (каждый обрабатывает свой контейнер с данными, каждый контейнер используется по крайней мере двумя потоками):

1) поток "сервер" ->контейнер сокетов клиентов
2) поток "чтение"->контейнер сырых данных
3) поток "анализ"->контейнер данных для записи в БД
4) поток "запись в БД" – окончательный анализ данных и запись в БД




если интересует, могу переделать эту штуку под ваши нужды (не бесплатно)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.4.2025, 8:09