反向代理哪家强 Squid、nginx、kangle、Varnish压力测试

一、测试环境

后端服务器:E3-1230V3 / 8GB RAM / 120GB SSD
OS:Debian 7.6 64bit
HTTP SERVER: nginx/1.4.6
IP:192.168.1.44

测试工具所在服务器:双路L5639 / 72GB RAM
OS:Debian 7.6 64 bit
测试工具:Webbench - Simple Web Benchmark 1.5
IP:192.168.1.22

反向代理服务器:双路L5639 / 72GB RAM
OS:Centos6.6 64 bit
IP:192.168.1.40

测试图片 test.jpg 12 KB大小


二、开始测试

测试说明:1000并发数 10分钟

直接源站

webbench -c 1000 -t 600 http://192.168.1.44/test.jpg

Benchmarking: GET http://192.168.1.44/test.jpg
1000 clients, running 600 sec.

Speed=665548 pages/min, -136063 bytes/sec.
Requests: 6655239 susceed, 244 failed.


squid 3.1.10

load average: 1.00, 0.86, 0.58

Speed=269915 pages/min, 621776 bytes/sec.
Requests: 2699005 susceed, 146 failed.


nginx 1.7.4 / proxy_cache

配置说明:worker_processes  1;

load average: 0.85, 0.60, 0.58

Speed=463029 pages/min, 3443300 bytes/sec.
Requests: 4630290 susceed, 3 failed.

kangle 3.2.8

配置说明:

名字    epoll
工作进程    1
工作线程    1

load average: 0.63, 0.60, 0.37 

kangle 工作线程即便设定为1 启动之后 还是会有3个辅助线程,所以在3311看到的是 工作线程数 4


Speed=658624 pages/min, -940519 bytes/sec.
Requests: 6586243 susceed, 0 failed.


update: 


Varnish 3.06

load average: 0.00, 0.03, 0.04 

Speed=681231 pages/min, 3044137 bytes/sec.
Requests: 6812263 susceed, 52 failed.

------------------------------


调优对比

nginx/Tengine 2.0.3

worker_processes  auto;
worker_cpu_affinity auto;

load average: 0.42, 0.22, 0.09

Speed=701385 pages/min, -918068 bytes/sec.
Requests: 7013859 susceed, 0 failed.


Kangle 3.2.8

名字 epoll
工作进程 1
工作线程 32


工作线程数    35

load average: 0.00, 0.02, 0.00

Speed=707254 pages/min, -238159 bytes/sec.
Requests: 7072549 susceed, 0 failed.


Kangle 3.4.0 alpha

load average: 0.00, 0.02, 0.00

Speed=707082 pages/min, -265881 bytes/sec.
Requests: 7070823 susceed, 0 failed.

---------------------


结果

从上面的数据来看,kangle --> nginx --> Varnish --> squid 


其中squid 本人配置的火候不够,在测试进行中 频繁会重启进行,多次测试才跑完一轮10分钟的测试。

Varnish 也是网上找的优化文章,因为相对能够找到的资料比较少。

关于缓存的命中率 因为只有一个文件测试 全部都是100% HIT.

测命中率需要弄上几千上万个个小文件试。



你可能感兴趣的:(反向代理哪家强 Squid、nginx、kangle、Varnish压力测试)