-
Здравствуйте.
Я тут разбираюсь с ICS для целей написания простенького вебсервера (все клиенты обрабатываются последовательно, т.е. в контексте одного потока).
Все написал и устроил нагрузочное тестирование. Как оказалось в секунду держит 6 запросов, что, на первый взгляд, кажется мало.
Я так понимаю, что дело не в логике сервера, а в том, что приходится каждый раз соединение устанавливать.
ВОПРОС. Может я зря "парюсь" и 6 запросов в сек - это нормально?
-
> Может я зря "парюсь" и 6 запросов в сек - это нормально?
Нет, не нормально. Мало. Нормально - несколько сотен минимум.
А что сервер делает?
-
> Keep-Alive в HTTP - как она работает?
соединение. запрос - ответ запрос - ответ ... запрос - ответ отсоединение.
-
> DVM © (18.05.08 23:29) [1] > > Может я зря "парюсь" и 6 запросов в сек - это нормально? > Нет, не нормально. Мало. Нормально - несколько сотен минимум. > А что сервер делает?
Сервер, поверь мне, быстрый - несколько десяков хитрых битовых преобразований. Я потестил отедльно - без сети в рамках одного процесса в сек. выполняется немеряно (задал 10000 выполнений, не заметил как выполнилось).
Собсно вопрос вот о чем - стоит ли мне копать ICS с целью заставить коннект держать? Теперь я вижу, что вроде стоит, что должно быть больше, нежели 6 в сек.
Как понять, держит этот ICS коннект или нет? Чем последить за ним? Какой-нибудь профайлер?
-
> Как понять, держит этот ICS коннект или нет? Чем последить > за ним?
Я не пользовался HTTP сервером от ICS, но выяснить очевидно можно клиентом. Если после первого запроса повторная посылка send() вернет ощибку, значит соединение потеряно. Ну и надо в первом запросе Keep-Alive указать и протокол HTTP 1.1 вроде.
-
> Ну и надо в первом запросе Keep-Alive указать и протокол > HTTP 1.1 вроде.
указал. спеку я посмотрел обзороно - там говорица про то, что нужно юзать 1.1.
сделал. все равно 6-7 в сек. видимо нужно дебужить сервер.
-
Может какие средства есть для отладки сетей? Ну снифер понятно - но я так понял, что вот, WireShark, например, показывает пакеты. Но я не нашел в нем возможности следить за приложениями как они рвут соединения.
-
Keep-Alive в любом протоколе (а не только в гипертекстовом) имеет целью совсем другое - максимально быстрое обнаружение нештатного (т.е. не связанного с прикладной логикой партнеров по инф.обмену) разрыва петли соединения, а так же в ряде случаев поддержание в актуальном состоянии в NAT-таблицах записей, относящихся к текущему соединению.
-
> DVM © (18.05.08 23:29) [1] > > Может я зря "парюсь" и 6 запросов в сек - это нормально? > Нет, не нормально. Мало. Нормально - несколько сотен минимум. > А что сервер делает?
Причина была в том самом COMODO. Снес его. Заработало очень быстро.
На localhost вообще без меры (несколько тыс, имхо в сек).
На рабочий сервер по сети тоже быстро, но что интересно с перерывами: 50 запросов подряд за несколько десятых в сек, потом задержка на сек, потом еще 100 и т.д.
Это вообще правильно для сетей? Какой-то внешний фактор мог воздействовать? Ну там, маршрутизация иначе вдруг пошла...
|