使用 nginx 提供文件服务时下载开始前的延迟

使用 nginx 提供文件服务时下载开始前的延迟

我目前使用 nginx 为我的网站提供下载服务。用户有时在单击下载链接后需要等待大约 5 秒钟才能开始下载。我不确定是否需要开始使用 raid 10(我目前使用 raid 50)或者这是否是我的 nginx 配置问题。我也使用 1gbit 线路,但下载速度有时会低至 10kB/s。我的服务器:双 Xeon 5620 CPU,12x2TB 驱动器,8GB 内存。

这是我的 nginx.conf

#user  nobody;
worker_processes  12;
worker_rlimit_nofile 10240;
worker_rlimit_sigpending 32768;

error_log  logs/error.log  crit;

#pid        logs/nginx.pid;


events {
    worker_connections  2048;
}


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

    access_log  off;
    limit_conn_log_level info;
    log_format  xfs  '$arg_id|$arg_usr|$remote_addr|$body_bytes_sent|$status';

    #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;

这是我的 iostat

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.05    6.49    1.22   23.33    0.00   62.91

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               1.30    31.80  257.10   11.70 47852.80  1449.90   183.42    82.50  311.28   3.72 100.00
dm-0              0.00     0.00    0.00    1.10     0.00     8.80     8.00     0.21  169.64 124.45  13.69
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-2              0.00     0.00  251.90   41.30 46423.20  1435.50   163.23   101.98  348.08   3.31  96.96

iotop

在此处输入图片描述

答案1

您的监控显示了什么?您的连接是否接近最大限度?您是否看到高负载?大量并发连接?您的 IOStat 是什么样的?

如果没有监控,我们就不可能为您提供任何有用的信息。您的延迟可能是由诸如 DNS 解析器故障或您的硬盘容量过大等原因造成的。

相关内容