nginx网关服务器性能要求,网关服务:zuul与nginx的性能测试对比

案例一. Nginx单工做线程,单文件路径访问测试html

文件内容仅6个数字:123456nginx

22b94c391dc69e209fdddefe3267ca8b.png

测试命令:ab -c 100 -n 500000 127.0.0.1:80/html/test.htmlapi

99d953f8df16fc3cdca56fe1df12cc79.png

能够看到每秒并发:32566 reqtomcat

使用top命令,能够看到cpu使用状况: ab cpu:99%    nginx cpu:99%服务器

767d85fb5d82bdfdec7b15a1ecb6866a.png

案例二. Nginx做为入口网关,将请求转发至业务服务,这里为了方便,直接使用nginx做为业务服务网络

第一级接入层网关nginx转发配置,端口80:多线程

server {

listen    80;

location / {

proxy_pass   http://127.0.0.1:8080/;

}

}架构

转发至第二级http业务服务8080,nginx配置以下,这里简单访问本地文件:并发

server {

listen    8080;

location /html/ {

alias  /data/service/gw/html/;

expires 7d;

}

}负载均衡

命令:ab -c 100 -n 500000 127.0.0.1:80/html/test.html

d7b26d647a3b79ca89bd81ac15ad9183.png

能够看到并发一样能够达到34497req

69372e8fc6c78b50bca7b217b8d60a86.png

而负载状况:

网关nginx,用了两个工做线程,总cpu占用率:95.7%+95.3%=191%

而本地文件访问nginx,仅一个工做线程,cpu占用率:90%

案例三:将第一级网关替换成zuul,第二级仍然转发至业务http nginx服务器,业务请求简单访问本地文件

因为此时zuul是多线程的架构,很依赖cpu资源大小,这里先作第一组配置测试:8u cpu, 16GB 内存。

zuul的线程配置:最小min-space-threads:100,最大max-threads:200

使用命令: ab -c 200 -n 300000 127.0.0.1:8000/api/html/test.html

5be219205249aadfbff5b18a5da93566.png

并发数大约在12860req/s

2695fbdfb219078c3ed55b096585e669.png

稳定以后整个系统的用户空间加内核空间的总负载基本约77.7%=58.7%+19%

内存使用状况以下:

6b928b88d74c051ea2526ba8e1ceb9c9.png

能够分析到此时系统很忙碌,基本是满负荷在运行,瓶颈在cpu资源的竞争上。

案例四:将案例三的状况作第二组配置的测试:12u cpu, 24GB 内存。

ab -c 100 -n 500000 127.0.0.1:8000/api/html/test.html

eb832b14f9078fb87aefd73d44db9cb4.png

并发数据果真有对应核数的比例提高:19113req/s

54870347c00e3ed0a72bc42a31b86bfd.png

此时系统也处于比较高的负载:73.6=60.1+13.5,其中用户空间一样占到大约60.1%的负载

而内存仍是有不少富余的,性能瓶颈一样是在cpu资源的竞争上。

9729d73ecca4682e9210e597311ca1f7.png

总结:

在cpu资源相对充足的状况下,zuul的性能也是不俗的,单个实例一样能够达到1W+,cpu的占用大概在500%。

这里可能还能够用jvm等参数进行调优,也欢迎在此基础之上性能调优作得更细致的朋友前来指教,但整体性能指标相差不会太远,而zuul是能够很方便的支持多个实例横向扩展以及路由的负载均衡的,在分布式的架构演进上面做为网关层是一个比较不错的选择。

最后附上zuul的jmc性能监控图:

线程状况

defcf99e54babe009abfa87b96dde823.png

也能够从jmc的线程视图中能够观察到,有大量的tomcat的任务线程在竞争任务队列的资源,并处于等待当中。

cc9b6938a6f89e64c50e560a3e486560.png

cpu占用率最多的线程固然仍是属于网络io的链接线程,以及读写数据事件线程。

内存使用状况:

040691e8322ac1fcf90b49cca893e048.png

3d57e19660300a90a2644a17df7b2a87.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值