1

Nginx по умолчанию ожидает закрытия сессии, пока не откроет новую сессию. Это проблема, если пользователь пытается загрузить более одного архива одновременно.

Как отключить или увеличить лимит?

что я пробовал:

changing  rate=1r/s to rate=100r/s  
limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;

nginx conf:

server {
    #limit_conn addr 3;
    #limit_rate_after 2048k;
    #limit_rate 300k;
    listen 213.186.127.53:80;
    server_name  site.com;
    access_log off;
    #access_log  /var/log/nginx/site.com.access.log  main;
    error_log   /var/log/nginx/site.com.error.log  crit;
    #open_file_cache max=3000 inactive=120s;
    #open_file_cache_valid 30s;
    #open_file_cache_min_uses 2;
    #open_file_cache_errors off;
            location / {
                 valid_referers none blocked site.com *.site2.com site3.net *.prozerpina.net;
                 if ($invalid_referer) {
                    return   403;
                }
                    root /var/www/site.com;
                            aio on;
                            directio  4k;
                            directio_alignment 4k;
                            output_buffers 1 1m;

            }

http {
    access_log  /var/log/nginx/access.log  main;
    client_max_body_size 2005m;
    server_names_hash_bucket_size 64;
    client_body_temp_path /tmp;
    client_body_in_file_only clean;
#    limit_conn_zone $binary_remote_addr zone=addr:10m;
    send_timeout 30;
    keepalive_timeout 60;
    proxy_buffering off;
    tcp_nodelay    on;
    log_not_found on;
    tcp_nopush     off;
    sendfile off;
    reset_timedout_connection on;
    limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;
    index  index.php  index.html;

}

1 ответ1

0

Изменение rate=1r/s к rate=100r/s должно работать, если вашему клиенту не нужно более 100 запросов в секунду для загрузки 2 файлов. Обычно загрузка 2 файлов требует 2 подключений.

Тем не менее, для меня ограничение скорости одновременного подключения использует не тот инструмент. У вас есть что-то под названием limit_conn которая ограничивает соединения, а не скорости. Он работает так же, как вы можете определить зону для клиентских IP-адресов. Затем вы выбираете предел, который является необработанным числом.

Опять же, это две разные проблемы: скорость и количество соединений не следует путать, хотя они могут мешать друг другу.

Попробуйте отключить ограничение скорости и использовать ограничение подключения с 2 подключениями на клиента. Убедитесь, что ваш клиент работает правильно.

Затем вы можете переустановить ограничение скорости, следя за тем, чтобы оно не мешало использованию вашего клиента. Возможно, вы захотите разрешить разрывы соединения, если ваш лимит скорости низкий. Затем используйте журналы с ошибочными соединениями, чтобы узнать, является ли за это ответственность limit_conn или limit_req .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .