Здравствуйте, netch80, Вы писали:
N>А какое количество этих самых пакетов в секунду у одного стресс-клиента и какой процессор на сервере?
Одна копия стресса генерирует 600 — 800 коротеньких UDP пакетов в секунду. Точнее сказать сейчас не могу. Но это хорошая оценка и снизу, и сверху.
Процессор Intel Core i5-2400, 4 ядра, 3,1 GHz.
N>Да, установка такой карточки решит эту проблему, но мне кажется, что это перебор; даже среди Intel можно найти адекватные модели с поддержкой нужных характеристик за 30, а не 90 долларов. В верхнем сегменте сетевух идут уже варианты с умением удалённого управления (IPMI и аналоги), оффлоадингом IPSec шифрования, и прочие особые навороты.
N>Кстати, если эта ссылка у них верна, то модель разработки 2005-го года за 90 вечнозелёных может вполне соответствовать современной в треть этой цены
Вот их
прайс на карты Intel. Все что дешевле этой вместо магического слова Server имеет слово Desktop. Я буду рад реальной ссылке на что-либо лучше и при этом дешевле этого.
ЛБ>>То есть меня несколько озадачила разница в 1000% (тысяча процентов). Я написал сервер на блокирующих сокетах с тем, чтобы когда все выше сокетов отлажу перейти на асинхронные с портами завершения и пулом потоков. Получается все это чушь собачья и основные потери на уровне сетевого адаптера, драйверов и стека протоколов ниже IP.
N>Мне вот тоже кажется, что сама по себе передача через реальный сетевой канал не даст такого эффекта. Работает что-то ещё.
N>Например, может быть неоптимальный шедулинг. В случае loopback данные оказываются в приёмном сокете ещё до выхода из send() в передающем сокете. В случае удалённой сети между ними заметная задержка. Может, что-то делается в это время, из чего сложно переключиться.
N>Да хоть вымывание процессорных кэшей...
Вопрос пока не стоит так остро, есть чем заняться и без этого, но все-таки какое улучшение ожидается от перехода на асинхронные сокеты?
Лазар