每秒 50 万次请求处理,你的 Web 服务器能办到吗? 已翻译 100%

彭博 投递于 2012/11/27 17:52 (共 2 段, 翻译完成于 11-27)
阅读 1899
收藏 10
0
加载中

现在的 HTTP 服务器性能非常之高,在一些配置一般的服务器上一样可以有非常棒的表现,下面是对 Nginx 1.0.14 自带的默认首页进行压力测试的结果,图表显示每秒请求数和并发连接数:

在这张图中 Nginx 的最高处理能力达到每秒 50w 的请求数处理,而且在并发是 1000 的情况下其延迟只是 1.5 毫秒。

该图表显示了平均的每秒请求数,使用的命令是:

wrk -t 10 -c N -r 10m http://localhost:8080/index.html

其中 N 值为并发连接数,测试工具是 wrk

彭博
翻译于 2012/11/27 17:53
1

硬件配置:

两个 Intel Xeon X5670 处理器,24G 内存,X5670 有 6 核@2.93Ghz,每个核两个超线程,/proc/cpuinfo 显示 24 个 CPU。

软件环境:

操作系统 Ubuntu 11.10 运行 Linux 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux.

下面是对内核参数的调整:

echo "2048 64512" > /proc/sys/net/ipv4/ip_local_port_range
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "10" > /proc/sys/net/ipv4/tcp_fin_timeout

echo "65536" > /proc/sys/net/core/somaxconn
echo "65536" > /proc/sys/net/ipv4/tcp_max_syn_backlog  

echo "262144" > /proc/sys/net/netfilter/nf_conntrack_max
HTTP 服务器是 nginx 1.0.14 ,没有使用任何特别的构建参数:


./configure
make
objs/nginx -p . -c nginx.conf.
nginx.conf 配置如下:



worker_processes     16;
worker_rlimit_nofile 262144;

daemon off;

events {
  use epoll;
  worker_connections 16384;
}

error_log error.log;
pid /dev/null;

http {
  sendfile   on;
  tcp_nopush on;

  keepalive_requests 100;

  open_file_cache max=100;

  gzip            off;
  gzip_min_length 1024;

  access_log off;

  server {
    listen *:8080 backlog=16384;

    location / {
      root   html;
      index  index.html;
    }
  }
}
彭博
翻译于 2012/11/27 17:54
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(1)

彷徨的看着你
彷徨的看着你
pid /dev/null;
能解释一下这个什么意思,谢谢
返回顶部
顶部