记一次5000并发的调试过程

为了满足招标和用户的需要,希望公司的基础架构能支持5000并发,特此进行验证和调试。

向兄弟部门借了两台服务器(每台8核cpu,48g内存),在两台服务器上安装虚拟化平台exsi,每台上安装4个linux7.0虚拟机,总共8个linux7.0虚拟机:

  A服务器上的四台虚拟机:AA1,AA2,AA3,AA4。

  B服务器上的四台虚拟机:BB1,BB2,BB3,BB9。

规划在AA1/AA2/AA3/AA4/BB1/BB2/BB3分别部署一个应用服务器,并部署服务(找了公司的一个小工程,部署在tomcat6,jdk1.6),启动服务。总给7个tomcat服务。

在BB9上部署nginx,用作反向代理,轮询分发请求到这7个tomcat服务。

tomcat配置(server.xml):

tomcat配置(catalina.sh):

nginx配置(nginx.conf):

压测时监控服务器压力并不大,但是压测机cpu爆满,ping nginx服务器时存在网络延迟。

猜测B服务器上既有nginx,又有3台应用,B服务器的网卡带宽可能是瓶颈,因此我们把BB1、BB2、BB3三台剔除掉,然后再压测。

这时压测出来效果明显转好,基本达到了5000的并发要求。

注:nginx反向代理服务器最好使用一个单独的物理机,以免转发能力受影响。

原文地址:https://www.cnblogs.com/wangliaohan/p/10503398.html