这是一个创建于 3032 天前的主题,其中的信息可能已经有所发展或是发生改变。
在一台开发测试机上做了个简单的测试
CPU 为 i7-2600, 3.4G ,内存 8G ,操作系统 CentOS7.2
Tomcat7 , JDK7 ,应用程序为基于 Spring 的 Servlet , Tomcat 启用 NIO
数据库 MariaDB 跑在本机,测试端三个 Locust 进程跑在本机,由于一个 Locust 进程最多能够发出大约 500/S 的请求,所以只开了 3 个进程,模拟 1500 并发
测试的结果,响应峰值在 1200-1300/S 之间,每个请求的平均响应时间在 100ms 以内
top 监测总的 8 个核心接近于满负荷,内存用量倒是不大, Tomcat 配置了-Xmx4096m ,但是峰值内存占用不超过 25%, mysqld 进程的 CPU 和内存占用都不高
Tomcat 相关性能配置项如下:
acceptorThreadCount="6"
maxSwallowSize="4194304"
maxThreads="800"
processorCache="800"
另外,之前我在非 Tomcat 的另外一台机器上运行 Locust ,但是无论如何只能达到 230/S 的访问量,每个请求的平均响应时间都在 500ms 了,换到本机立刻不同。因此我的结论是我们办公司的交换机太差,或者机器网卡太差,应该与软件无关。