java工程压力测试_记一次完整的java项目压力测试

本文详述了一次完整的Java工程压力测试过程,包括测试目的、准备工作、条件设定、JVM监控、JMeter测试脚本的编写与执行。通过调整JVM参数、数据库连接池与Tomcat线程池,找到了并发量最优值600,同时保持了良好的响应时间和JVM运行状态。在不同并发量下,分析了响应时间、吞吐量、JVM表现和资源利用率,为程序调优和运维提供依据。
摘要由CSDN通过智能技术生成

总结:通过这次压力测试,增加了对程序的理解;假定正常情况下方法执行时间为2秒,吞吐量为100/s,则并发为200/s;假设用户可接受范围为10s,那么并发量可以继续增加到1000/s,到这个时候一切还都正常,若想继续提高并发量,我们可以优化吞吐量,增加tomcat的线程数和mysql的连接数;当吞吐量和并发量都达到一定程度,我们的JVM已经爆仓,则到了java开发最喜欢的JVM调优环节。

本着压测结果不能超脱实际情况裸奔的前提,压测参数在特定情况下参照:

1.接口最大响应时间(时间太长,客户要发彪);

2.带宽大小(线上机器带宽被运维限制,你想飞,飞不起来;内部带宽大小最好通知运维人员,防止影响路由其他业务);

3.CPU(CPU爆顶,影响运维,和运维人员商定高峰CPU值)

4.JVM(JVM溢出还想啥啊,优化程序或者考虑加机器分流)

5.mysql连接数(mysql默认最大可以达到16384,安装完默认为100,一般运维人员会根据需要进行更改,考虑多业务同数据库或者集群部署的问题,请一定听从运维人员的建议)

6.待研究补充。

先记录这次的技术点:

JVM监控使用的是java自带jvisualvm.exe,在java安装目录jdk1.*/bin下;

使用教程:

1.服务器先要添加jmx用户名和密码,我的主机为linux,把jdk*/jre/lib/management/jmxremote.password.template文件拷贝到工程目录中(方便jvm参数配置);

cp /apps/jdk1.8.0_112/jre/lib/management/jmxremote.password.template /apps/dt/

mv jmxremote.password.template jmxremote.password

vim jmxremote.password

2.编辑jmxremote.password最下面两个用户#打开,如果想增加用户或者修改用户名需要在jmxremote.access声明权限才可以访问到。

chmod 0400 jmxremote.password

3.编辑项目的sh启动文件或者tomcat的catalina.sh,JAVA_OPTS中添加如下参数(注意参数之间的空格分开)

-Xms2g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值