TOMCAT 可以稳定支持的最大并发用户数
微软系统平台上
TOMCAT性能调优后可以稳定支持的最大并发用户数量在300人服务器配置:
单硬盘,SATA 8MB缓存测试服务器和loadrunner运行服务器位于同一网段
100MB网络(同一交换机)上,排除网络问题的影响服务器运行始终,
CPU使用率非常低没有超过5%
因此虽然服务器配置低,但是不是性能瓶颈所在服务器运行
在windows server 2003 sp2中文版(正版系统)
tomcat内存的设置:1.4GBJVM+256MB的池
set JAVA_HOME=C:\JAVA\JDK15
set CATALINA_OPTS=-server -Xms1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256mtomcat
线程的设置:初始产生1000线程数最大支持2000线程
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="4000" minSpareThreads="1000"
maxSpareThreads="2000"enableLookups="false" redirectPort="8443" acceptCount="2000"
connectionTimeout="20000" disableUploadTimeout="true" />
需要显示的JSP页面:index.jsp
---
<html>
<body>
test---tomcat
<%
System.out.println("===========================");
System.out.println("===========================");
System.out.println("===========================");
System.out.println("===========================");
System.out.println("===========================");
%>
</body>
</html>
---
类似于静态页面,以此来判断tomcat支持的最大的并发用户数量使用loadrunner设置1000并发用户数进行压力测试。
每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0.
测试结果:
Transaction Response Time Under Load1可以看到在达到600用户同时在线的时候,系统响应时间为6秒钟
100人-----响应时间0.8秒 完美150人-----响应时间1秒 完美
200人-----响应时间1.5秒 响应时间有微小波动 比较完美
250人-----响应时间1.8秒 比较完美(此时是理想情况下最大的并发用户数量)
280人-----开始出现连接丢失问题,连接开始不稳定
300人-----响应时间3秒 响应时间有较大波动峰值为6秒 较差
350人-----响应时间3秒 开始大量出现连接丢失问题 连接很不稳定
400人-----响应时间3.8秒 连接丢失数量达到3000次以上
450人-----响应时间4秒 连接丢失数量达到6000次以上
500人-----响应时间4秒 连接丢失数量达到11000次以上
550人-----响应时间6秒 连接丢失数量达到21000次以上
600人-----响应时间6秒 连接丢失数量达到25000次以上
600人开始系统出现异常情况,因此停止测试。测试数据到此为止。每秒的点击次数:
虚拟用户递增情况:
网络流量:
测试过程中成功和失败的响应结果:
最新文章
- 天河微信小程序入门《四》:融会贯通,form表单提交数据库
- 优雅地使用Windows
- 转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)
- Dos
- windows下跑python flask,环境配置
- Guava: 事件总线EventBus
- timestamp ---自动更新修改时间 与 记录首次插入时间
- ubuntu下查看IP Gateway DNS信息
- shell中的expr命令
- python :ascii codec can't decode byte 0xe8 in posit
- 使用org.apache.commons.logging打日志注意事项
- BZOJ 1926: [Sdoi2010]粟粟的书架(主席树,二分答案)
- Python中从SQL型数据库读写dataframe型数据
- python接口自动化(十三)--cookie绕过验证码登录(详解)
- 一个基于OCV的人肉选取特征点程序
- 运算符和Scanner的使用
- 1.2低级线程处理API
- Windows平台最方便最易用的法语输入法
- Effective Java 第三版——36. 使用EnumSet替代位属性
- iOS如何接收服务端返回的布尔值