1

У меня небольшой веб-сайт для потокового видео, и я заметил некоторые проблемы с видео на моем сайте. У меня есть несколько 1-гигабитных серверов, и серверы работают только со скоростью 1/4 порта. Когда я пытаюсь загрузить некоторые файлы, загрузка начинается очень долго. Дисковый ввод-вывод составляет 2%, и я вижу скорость чтения с диска от 3 до 10 Мбит / с.

Скорость чтения с диска невероятно мала, учитывая количество подключений к серверам. Каждый сервер имеет четыре диска с рейдом 10. Вот конфигурация nginx, которую я сейчас тестирую. Это очень расстраивает, потому что это очень мощные серверы, но я чувствую, что что-то настроено неправильно. Возможно, что-то не связанное с nginx, но связанное с TCP-соединениями? Заранее благодарю за ваши предложения.

worker_processes  8;
worker_rlimit_nofile 10240;
worker_rlimit_sigpending 32768;
error_log  logs/error.log  crit;


events {
    worker_connections  1240;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile on;
    tcp_nopush on;

    access_log  off;
    limit_conn_log_level info;

    #sendfile       on;
    #tcp_nopush     on;
    reset_timedout_connection on;

    server_tokens off;
    autoindex off;

    keepalive_timeout  0;
    #keepalive_timeout  65;

    limit_zone one $binary_remote_addr 10m;
    perl_modules  perl;
    perl_require  download.pm;

    server {
        listen       182;
        server_name  localhost;
        proxy_set_header X-Real-IP $remote_addr;

        location /nstatus {
            stub_status on;
            #allow 127.0.0.1;
            #deny all;
                        }

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

1 ответ1

0

Вас может заинтересовать активация асинхронного дискового ввода-вывода с помощью директивы aio .

Его документация является исчерпывающей и содержит примеры конфигурационных блоков.

Использование асинхронного ввода-вывода позволит nginx мультиплексировать доступ к диску и увеличить ограничение до аппаратных, составляя запросы, не дожидаясь завершения предыдущего. Уровни ОС / драйвера / оборудования сделают все остальное и ответят КАК МОЖНО СКОРЕЕ.

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