MailRuChamps / hlcupdocs

High-loaded systems developer contest
https://highloadcup.ru
151 stars 34 forks source link

Запросы фазы-2 (POST) приходят с "Connection: close" вместо задекларированного в ТЗ "keep-alive" #143

Open densmnko opened 5 years ago

densmnko commented 5 years ago

Приходит:

POST /accounts/new/?query_id=1 HTTP/1.1 User-Agent: Technolab/1.0 (Docker; CentOS) Highload/1.0 Host: accounts.com Content-Type: application/json Content-Length: 1226 Accept: / Connection: close

{"sex":"m","interests":["\u0420\u044d\u043f","\u041e\u0431\u043d\u0438\u043c\u0430\u0448\u043a\u0438","\u0412\u0435\u0...

Выдержка из ТЗ:

  1. По истечении этого времени начинается обстрел запросами из указанных в разделе API. длительность обстрела составляет 90 секунд для предварительного и 9 минут для полного рейтингового обстрела. Важно - сервер должен слушать 80-й порт, чтобы обстрел прошел успешно! Запросы идут с заголовком Host: accounts.com по протоколу HTTP/1.1 с переиспользуемыми соединениями (keep-alive). Сетевые потери полностью отсутствуют.
funny-falcon commented 5 years ago

Да, из-за этого приходится свой велосипед городить, т. к. все правильные реализации http закрывают соединение.