Hello! On Thu, Jul 23, 2020 at 07:09:41PM +0300, Slawa Olhovchenkov wrote:
> On Thu, Jul 23, 2020 at 06:54:16PM +0300, Maxim Dounin wrote: > > > Hello! > > > > On Thu, Jul 23, 2020 at 06:27:49PM +0300, Slawa Olhovchenkov wrote: > > > > > В nginx 1.19.1 трафик который он считает отданным клиенту примерно в > > > два раза больше того что учитывается сетевым оборудованием. > > > > > > В чем может быть дело? Куда копать? > > > > Что значит "трафик который он считает отданным клиенту"? Речь про > > сумму значений переменных $bytes_sent? Эта переменная отражает > > количество байт, отправелнных клиенту, то есть записанных в буфер > > сокета. Что дальше с этими байтами происходило - nginx'у > > незвестно, если клиент их получать на уровне TCP не стал и закрыл > > соединение - то значение $bytes_sent может быть больше, чем ушло > > через интерфейс, на размер буфера сокета. Дальше уже вопрос к > > типичным размерам ответов, размерам буферов и поведению клиентов. > > это все понятно и очевидно, но два раза -- это два раза. > типичный размер ответа -- 400кб, клиенты сокет до получения ответа > закрывать не должны. Ну вот столь же очевидное место практической проверки - предположение про "не должны". Если действительно не закрывают - есть повод для разбирательства, а если таки закрывают - то наблюдаемый эффект хорошо объясняется поведением клиентов. При таких размерах ответ скорее всего целиком влезает в буфер сокета, и два раза - это примерно каждый второй ответ остался неотправленным. Должно быть хорошо видно, если сличать глазами логи и пакеты к соответствующим клиентам из дампа траффика. Впрочем, два раза - возможно, объясняется куда проще: суммарные значения $bytes_sent считаются неправильно и каждый запрос учитываетстя два раза. Начиная от банального "запрос пишется в лог дважды" и до "запрос дополнительно проксируется локально, и считается как ответ клиенту, так и локальный ответ". -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru