Welcome! Log In Create A New Profile

Advanced

nginx + webdav put работает медленно

Alexander Reznik
September 01, 2011 03:26AM
Доброго времени суток!

Есть nginx (1.0.6, но проверял и на 1.0.0 и на 0.8.49) с webdav. 8
worker'ов (по количеству ядер на серваке), 1000 коннектов на воркера, 1
server с 1 location, с webdav и ограничением доступа по ip. Сервер
слушает скажем 80 и 81 порты. На 80 приходит порядка 100 GET/секунду, на
81 до 150.000 PUT/час. При попытке положить файл размером 1-100кб put'ом
на 81 порт при помощи curl возникают задержки до 15 секунд. При этом
около секунды - ожидание ответа continue от сервера и остальное время до
ответа 201 created. Если положить файл на 80 порт в это же время, то вся
операция проходит за 0.1-0.05 сек. aio и сендфайл включать пробовал, не
помогает, количество воркеров изменять пробовал, тоже не помогает. В
диски не упираемся, операции с файлами во время тормозов nginx работают
быстро, в swap не уходим. Создается впечатление, что все PUT запросы
обрабатываются одним worker'ом. Статистика nginx говорит примерно
следующее: Active connections 50 - 150, из этого reading/writing
соотносятся 1/2. (например при 60 коннектах 20 читают, 40 пишут).


конфиг:
server {
listen 80;
listen 2000;
server_name media;
client_max_body_size 100m;
expires 5d;

set $root
location / {
root $root;

dav_methods PUT DELETE MKCOL COPY MOVE;

create_full_put_path on;
dav_access group:rw all:r;
limit_except GET {
allow 192.168.0.0/24;
deny all;
}
}
}

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx + webdav put работает медленно

Alexander Reznik September 01, 2011 03:26AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 174
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready