On Thursday 13 February 2014 08:53:59 Oleg Palij wrote:12 февр. 2014, в 19:45, Валентин Бартенев <vbart@xxxxxxxxx> написал(а):
On Wednesday 12 February 2014 13:40:23 Oleg Palij wrote:
Пишем в access_log данные POST:
Некоторые данные приходят обрезанными, т.е. идут нормальные данные, потом \n и начинается новая строка с данными.
POST данные могут быть большими (до 500 килобайт).
Не может это быть связанно с тем что nginx пишет из одного потока в лог, не успевает дописать, как туда же начинает писать другой поток, прерывая тем самым запись предыдущего?
И можно-ли что-то с этим сделать?
nginx/1.4.4
Linux 3.10.17 x86_64
timer_resolution используется?
Да. В конфиге есть timer_resolution 100ms;
Уберите и будет всё нормально.
Убрал. Не помогло.
После пересобрал nginx без сторонних модулей, убрал практически все опции, которые меняли значения по-умолчанию. Осталось только:
worker_rlimit_nofile 8192;
worker_processes 8;
events {
worker_connections 1024;
use epoll;
}
output_buffers 1 1024k;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 75 20;
server_names_hash_bucket_size 128;
И для location, где происходит логирование включил client_body_in_single_buffer. Пока наблюдаю (проблема бывает не часто).
Что еще можно поковырять?