/ 中存储网

Apache, pound, Nginx做前端负载均衡的性能测试对比

2014-02-21 17:10:01 来源:kejihao
三年前做的测试,测了Apache的mod_proxy_balancer,Pound,Nginx在做负载均衡时的性能测试。

Apache的mod_proxy_balancer模块

Listen xxx

<IfModule !mpm_netware_module>

User daemon

Group daemon

</IfModule>

ServerName www.domain.com

<Location /balancer-manager>

SetHandler balancer-manager

Order Deny,Allow

Allow from all

</Location>

ProxyRequests off

<proxy>

Order deny,allow

Allow from all

</proxy>

ProxyPass / balancer://mytest/

<proxy balancer://mytest/>

BalancerMember http://xxx.xxx.xxx.xxx:xxx   loadfactor=1

BalancerMember http://xxx.xxx.xxx.xxx:xxx   loadfactor=1

</proxy>

Pound

LogLevel 3

ListenHTTP

Address xxx.xxx.xxx.xxx

Port    xxx

Service

BackEnd

Address xxx.xxx.xxx.xxx

Port    xxx

End

BackEnd

Address xxx.xxx.xxx.xxx

Port    xxx

End

End

End

Nginx

worker_processes  1;

events {

worker_connections  1024;

}

http {

upstream myproject {

server xxx.xxx.xxx.xxx:xxx;

server xxx.xxx.xxx.xxx:xxx;

}

server {

listen xxx;

server_name www.domain.com;

location / {

proxy_pass http://myproject;

}

}

}

性能比较

以下所有测试采用apache bench

根据页面大小(50000请求量,300并发)

每秒响应数 mod_proxy_balancer Pound Nginx
小页面(Bytes) 5625.815 2326.813 7268.268
中页面(KBytes) 5624.462 2350.260 5985.835
大页面(MBytes) 421.758(有个别失败请求[十万分之一]) 404.426(有3-4%失败请求) 410.733

根据请求数量(小页面(Bytes),300并发)

每秒响应数 mod_proxy_balancer Pound Nginx
50000 5625.815 2326.813 7268.268
100000 7168.442 2349.360 7254.587
200000 7782.378 2496.813 7566.883

根据并发量(小页面(Bytes),50000请求量)

每秒响应数 mod_proxy_balancer Pound Nginx
300 5625.815 2326.813 7268.268
500 3137.200 1928.617 7254.587
1000 5470.355 几乎全部失败请求 6789.280(99%以上失败请求)