在這張圖中 Nginx 的最高處理能力達(dá)到每秒 50w 的請(qǐng)求數(shù)處理,而且在并發(fā)是 1000 的情況下其延遲只是 1.5 毫秒。
該圖表顯示了平均的每秒請(qǐng)求數(shù),使用的命令是:
wrk -t 10 -c N -r 10m http://localhost:8080/index.html
其中 N 值為并發(fā)連接數(shù),測(cè)試工具是 wrk
硬件配置:
兩個(gè) Intel Xeon X5670 處理器,24G 內(nèi)存,X5670 有 6 核@2.93Ghz,每個(gè)核兩個(gè)超線(xiàn)程,/proc/cpuinfo 顯示 24 個(gè) CPU。
軟件環(huán)境:
操作系統(tǒng) Ubuntu 11.10 運(yùn)行 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.
下面是對(duì)內(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 |
6 |
echo "65536" > /proc/sys/net/core/somaxconn |
7 |
echo "65536" > /proc/sys/net/ipv4/tcp_max_syn_backlog |
9 |
echo "262144" > /proc/sys/net/netfilter/nf_conntrack_max |
HTTP 服務(wù)器是 nginx 1.0.14 ,沒(méi)有使用任何特別的構(gòu)建參數(shù): ./configure && make, objs/nginx -p . -c nginx.conf.
nginx.conf 配置如下:
view source
print?
02 |
worker_rlimit_nofile 262144; |
08 |
worker_connections 16384; |
18 |
keepalive_requests 100; |
20 |
open_file_cache max=100; |
28 |
listen *:8080 backlog=16384; |