реклама на сайте
подробности

 
 
> TCP Server, Нагрузка на сервер
sobr
сообщение May 29 2012, 14:32
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Чем, как протестировать нагрузочную способность TCP сервера?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=F8=
сообщение May 30 2012, 12:44
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



over 9000 на несчастный контроллер?
Go to the top of the page
 
+Quote Post
sobr
сообщение May 30 2012, 13:44
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Цитата(=F8= @ May 30 2012, 19:44) *
over 9000 на несчастный контроллер?

Какой контроллер, вы о чем?
Я имею в виду сервер в дата-центре.
Суть в том, что щас делаю ТСР сервер к которому будут коннектиться
Десятки тысяч девайсов через GPRS. А сдругой стороны столько же юзеров с компов и айфонов.
Сервер создает практически прозрачный канал между девайсом в машине и юзером, и тот в онлайне мониторит и управляет.
Вот и встал вопрос какой мощности железо надо ставить в датацентре.
С ходу не нашел готовый инструмент для стресс-теста.
Пока выкрутился так: сам сервер VPS 600 MGz, на другом таком же плодятся клиенты в количестве 1000 и хором каждую секунду на мой сервак отправляют пакеты по 100 байт.
Проц нагрузился на 15%. тест конечно не очень коректный, но в первим приближении пойдет.

А те виртуальные серверы под винду на которые вы ссылки привели попробуйте хотя бы 1000 сокетов нагрузить, скорее всего разочаруетесь.
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение May 30 2012, 15:34
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(sobr @ May 30 2012, 17:44) *
Какой контроллер, вы о чем?
Я имею в виду сервер в дата-центре.
Суть в том, что щас делаю ТСР сервер к которому будут коннектиться
Десятки тысяч девайсов через GPRS. А сдругой стороны столько же юзеров с компов и айфонов.


Wooow!

Цитата
Сервер создает практически прозрачный канал между девайсом в машине и юзером, и тот в онлайне мониторит и управляет.


Я правильно понимаю, сервер просто из тцп/удп сокета айфона отправляет в тцп/удп сокет прибора, и наоборот? Т.е. практически обработки информации нет. Это резко меняет дело. Потому, что когда речь идёт о БД, о вебе со скриптами, об каких-то других приложениях -- это одно. А тут просто proxy.

Если так, то в принципе почти хватит обычного IBM-PC. Но -- десятки тысяч, это сколько? Тут дальше начинаются вопросы связанные в основном с архитектурой ПО в первую очередь, во второй очереди лимит количества (полу)пустых пакетов в секунду, на сетевом интерфейсе. Для 100Мбит сети во втором случае речь будет идти где-то о 64к пакетов в секунду, с другой стороны поддержать более 64к коннектов на один тцп/удп порт тоже не получится. Но 100МБит сеть закончится в пределах датацентра и дааалеко не факт, что хостинг-провайдер будет иметь достаточно хорошую связность с опсосами, но это отдельный вопрос и пока далёкий. Зато недалёким видится вопрос в регулярной нарушении оной связности, что бывает в любом датацентре, и жалобы десятков тысяч клиентов. А также различные сбои ПО, сети, чего угодно ещё. Напрашивается по меньшей мере два различных сервера на двух разных площадках, множественные A-записи в DNS, и ещё скорей какие-то методы балансирования нагрузки на уровне IP-протокола (маршрутизации). Если это только прокси. Иначе ещё и репликация БД.

Что касается архитектуры ПО. google C10k problem. Вопрос в архитектуре ПО сервера. Скорей это небольшое число потоков и параллельных программ (в 2-4 раза большее, чем количество процессоров в сервере), где каждый из потоков (я бы не рекомендовал увлекаться многопоточным программированием без нужды, классические средства межпроцессного взаимодействия позволяют всё то же самое, почти, но при этом граница между процессами более явно видна не сложно вляпаться в неочевидные трудности) или программ обрабатывает достаточно большое (единицы тысяч) соединений. Здесь становится очевидно, что proxy таким образом построить достаточно легко (пример nginx), а сложные приложения, со своей сложной логикой, БД и т.п. -- не очень-то. И стоит сказать про ограничения операционной системы. По-умолчанию обычно больше ~1024 файлов (соединнений) на процесс не открыть, придётся настраивать ОС, вплоть до перекомпиляции ядра (я немножко не в теме, но знаю, проблема есть). Объём ОЗУ опять же. Несколько десятков-сотен КБайт на стек и соединение (одно!) при многопоточном программировнии (C10k -- можно забыть) или несколько килобайт при описываемом подходе.

Цитата
Вот и встал вопрос какой мощности железо надо ставить в датацентре.


VPS. Позволяет масштабирование по ресурсам и деньгам в весьма широких пределах.

Цитата
Пока выкрутился так: сам сервер VPS 600 MGz, на другом таком же плодятся клиенты в количестве 1000 и хором каждую секунду на мой сервак отправляют пакеты по 100 байт.
Проц нагрузился на 15%. тест конечно не очень коректный, но в первим приближении пойдет.


Бредовая оценка. Зачастую лимитирует отнюдь не процессор. А (зависит от софта) размер ОЗУ, ограничения ОС на число открытых сокетов, пропускная способность сети и даже непосредственно сетевой карты. А также тип технологии виртуализации.

Цитата
А те виртуальные серверы под винду на которые вы ссылки привели попробуйте хотя бы 1000 сокетов нагрузить, скорее всего разочаруетесь.


AFAIK винда просто не позволяет более N соединений по лицензионным соображениям. Какие десятки тысяч? Только если ultimate-enterprise edition.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sobr   TCP Server   May 29 2012, 14:32
- - sobr   Цитата(sobr @ May 29 2012, 21:32) Чем, ка...   May 30 2012, 08:40
- - =F8=   А что значит нагрузочная способность? Сколько соед...   May 30 2012, 09:14
- - Frolov Kirill   Цитата(sobr @ May 29 2012, 18:32) Чем, ка...   May 30 2012, 11:40
|- - GeGeL   Цитата(sobr @ May 30 2012, 16:44) Суть в ...   May 31 2012, 10:08
|- - sobr   Цитата(GeGeL @ May 31 2012, 17:08) Я так ...   Jun 1 2012, 03:11
|- - GeGeL   Цитата(sobr @ Jun 1 2012, 06:11) И скольк...   Jun 1 2012, 05:47
- - sobr   Во... Беседа началась. С вашего позволения завтра ...   May 30 2012, 16:28
- - andrewlekar   Проще свою тестилку написать и запустить 100500 эк...   May 31 2012, 05:08
- - Slonofil   Закажите DDoS на свой адрес =)   May 31 2012, 09:30
- - MKdemiurg   ЦитатаНу не совсем. Железка прицепляется к серверу...   Jun 1 2012, 05:35
|- - sobr   Цитата(MKdemiurg @ Jun 1 2012, 12:35) Зря...   Jun 1 2012, 06:33
- - MKdemiurg   Цитата(GeGeL @ Jun 1 2012, 08:47) А зря в...   Jun 1 2012, 06:40
- - GeGeL   Это интересная архитектура, но есть два но: 1. это...   Jun 1 2012, 16:43


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 00:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016