在這張圖中 Nginx 的最高處理能力達(dá)到每秒 50w 的請求數(shù)處理,而且在并發(fā)是 1000 的情況下其延遲只是 1.5 毫秒。

該圖表顯示了平均的每秒請求數(shù),使用的命令是:

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

其中 N 值為并發(fā)連接數(shù),測試工具是 wrk

硬件配置:

兩個 Intel Xeon X5670 處理器,24G 內(nèi)存,X5670 有 6 核@2.93Ghz,每個核兩個超線程,/proc/cpuinfo 顯示 24 個 CPU。

軟件環(huán)境:

操作系統(tǒng) 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.

下面是對內(nèi)核參數(shù)的調(diào)整:

view source

print?

1 echo "2048 64512" > /proc/sys/net/ipv4/ip_local_port_range
2 echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
3 echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
4 echo "10" > /proc/sys/net/ipv4/tcp_fin_timeout
5  
6 echo "65536" > /proc/sys/net/core/somaxconn
7 echo "65536" > /proc/sys/net/ipv4/tcp_max_syn_backlog  
8  
9 echo "262144" > /proc/sys/net/netfilter/nf_conntrack_max

HTTP 服務(wù)器是 nginx 1.0.14 ,沒有使用任何特別的構(gòu)建參數(shù): ./configure && make, objs/nginx -p . -c nginx.conf.

nginx.conf 配置如下:

view source

print?

01 worker_processes     16;
02 worker_rlimit_nofile 262144;
03   
04 daemon off;
05   
06 events {
07   use epoll;
08   worker_connections 16384;
09 }
10   
11 error_log error.log;
12 pid /dev/null;
13   
14 http {
15   sendfile   on;
16   tcp_nopush on;
17   
18   keepalive_requests 100;
19   
20   open_file_cache max=100;
21   
22   gzip            off;
23   gzip_min_length 1024;
24   
25   access_log off;
26   
27   server {
28     listen *:8080 backlog=16384;
29   
30     location / {
31       root   html;
32       index  index.html;
33     }
34   }
35 }
分享到

tangrong

相關(guān)推薦