Hello! On Tue, Jul 12, 2022 at 02:42:44PM +0300, Gena Makhomed wrote:
> Здравствуйте, All! > > nginx/1.23.0 из официального репозитория nginx.org > > В логах есть такой варнинг: > > 2022/07/12 13:56:37 [warn] 14352#14352: *183 a client request body is > buffered to a temporary file /var/cache/nginx/client_temp/0000000011, > client: 10.23.154.207, server: sentry.example.com, request: "POST > /api/22/envelope/ HTTP/2.0", host: "sentry.example.com" > > Судя по информации из access-лога - размер контента - 41 байт: > > # grep /api/22/envelope/ access.log | grep 13:56:37 | less > 2022-07-12T13:56:37+03:00 GB 10.23.154.207 https > sentry.example.com POST "/api/22/envelope/" 200 41 > "-" "sentry.php.laravel/2.9.0" 0.010 0.002 > > Если прописать в nginx.conf директиву client_body_buffer_size 32k; > - тогда варнинг из error.log пропадает, но если вернуть дефолтовое > значение client_body_buffer_size 16k; - варнинг снова появляется логах. > > Размер контента - всего 41 байт. Как такое может быть? А что у вас по осям? (c) В смысле - что в log_format? Следом за $status обычно идёт $body_bytes_sent, и это размер тела ответа, имеющий приблизительно никакого отношения к размеру тела запроса. > client_body_buffer_size - эта переменная задает только статический > размер буфера, и в nginx сейчас нельзя сделать динамическое выделение > буфера по необходимости, как это сделано в директиве proxy_buffers ? > > Возможно было бы логичним, для экономии памяти сделать возможность > задавать client_body_buffer_size по аналогии с proxy_buffers, > например так: > > client_body_buffer_size 8k; > client_body_buffers 32 8k; Возможно так когда-нибудь будет, но пока так нельзя. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org