部署测试JAVA Web和Tomcat配置优化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了部署测试JAVA Web和Tomcat配置优化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3805字,纯文字阅读大概需要6分钟。
内容图文
![部署测试JAVA Web和Tomcat配置优化](/upload/InfoBanner/zyjiaocheng/639/4f23560d61454b4b8956dc5685020cf4.jpg)
一、部署测试用的java web项目
为了方便测试性能,我们将部署一个java web项目,这个项目本身和本套课程没有什么 关系,仅仅用于测试。?二、创建数据库
随便找一个本地的数据库,在linux服务器上执行。?三、部署web应用
1、在资料中找到dashboard-web.war,上传到linux服务器,进行部署安装。
cd /tmp/apache‐tomcat‐8.5.34/webapps rm ‐rf * mkdir ROOT cd ROOT/ rz上传war包 jar ‐xvf dashboard‐web.war rm ‐rf dashboard‐web.war #修改数据库配置文件 cd /tmp/apache‐tomcat‐8.5.34/webapps/ROOT/WEB‐INF/classes vim jdbc.properties #这里根据自己的实际情况进行配置 jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://node01:3306/dashboard? useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueri es=true jdbc.username=root jdbc.password=root
2、重新启动tomcat
![部署测试JAVA Web和Tomcat配置优化 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501062907550.jpg)
四、使用Apache JMeter进行测试
Apache Jmeter是开源的压力测试工具,我们借助于此工具进行测试,将测试出tomcat 的吞吐量等信息。1、下载地址:http://jmeter.apache.org/download_jmeter.cgi
![部署测试JAVA Web和Tomcat配置优化 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501062908219.jpg)
2、安装:直接将下载好的zip压缩包进行解压即可
![部署测试JAVA Web和Tomcat配置优化 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501062908760.jpg)
3、进入bin目录,找到jmeter.bat文件,双机打开即可启动。
?![部署测试JAVA Web和Tomcat配置优化 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501062909311.jpg)
4、启动页面入选
![部署测试JAVA Web和Tomcat配置优化 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501062909725.jpg)
![部署测试JAVA Web和Tomcat配置优化 - 文章图片](/upload/getfiles/0001/2021/5/1/20210501062910201.jpg)
四、Tomecat配置优化
简介:
通过上面测试可以看出,tomcat在不做任何调整时,吞吐量为73次/秒1.禁用AJP服务
+ View Code
2.设置线程池
通过设置线程池,调整线程池相关的参数进行测试tomcat的性能。
2.1.最大线程数为500,初始为50
12 |
? <Executor?name= "tomcatThreadPool" namePrefix= "catalina‐exec‐"
???????? maxThreads= "500" minSpareThreads= "50" prestartminSpareThreads= "true" />
|
结果如下:
2.2最大线程数为1000,初始为200
1 |
<Executor name= "tomcatThreadPool" namePrefix= "catalina‐exec‐" maxThreads= "1000" minSpareThreads= "200" prestartminSpareThreads= "true" />
|
2.3最大线程数为5000,初始为1000
是否是线程数最多,速度越快呢? 我们来测试下
1 |
<Executor name= "tomcatThreadPool" namePrefix= "catalina‐exec‐" maxThreads= "5000" minSpareThreads= "1000" prestartminSpareThreads= "true" />
|
2.4设置最大等待队列数
默认情况下,请求发送到tomcat,如果tomcat正忙,那么该请求会一直等待。这样虽然可以保证每个请求都能请求到,但是请求时间就会边长。有些时候,我们也不一定要求请求一定等待,可以设置最大等待队列大小,如果超过就不等待了。这样虽然有些请求是失败的,但是请求时间会虽短。典型的应用:12306。1 |
<!‐‐最大等待数为100‐‐> Executor name= "tomcatThreadPool" namePrefix= "catalinamaxThreads=" 500 " minSpareThreads=" 100 " prestartminSpareThreads=" true " maxQueueSize=" 100"/>
|
3.设置nio2的运行模式
将最大线程设置为500进行测试:
1 |
<Executor name= "tomcatThreadPool" namePrefix= "catalina‐exec‐" maxThreads= "500" minSpareThreads= "50" prestartminSpareThreads= "true" /> <!‐‐ 设置nio2 ‐‐> <Connector executor= "tomcatThreadPool" port= "8080" protocol= "org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout= "20000" redirectPort= "8443" />
|
4.调整JVM参数进行优化
接下来,测试通过jvm参数进行优化,为了测试一致性,依然将最大线程数设置为500,启用nio2运行模式。?修改catalina.sh配置文件
JAVA_OPTS="‐XX:+UseParallelGC ‐XX:+UseParallelOldGC ‐Xms64m ‐Xmx512m ‐ XX:+PrintGCDetails ‐XX:+PrintGCTimeStamps ‐XX:+PrintGCDateStamps ‐ XX:+PrintHeapAtGC ‐Xloggc:../logs/gc.log"
#设置了最大停顿时间100毫秒,初始堆内存128m,最大堆内存1024m JAVA_OPTS="‐XX:+UseG1GC ‐XX:MaxGCPauseMillis=100 ‐Xms128m ‐Xmx1024m ‐ XX:+PrintGCDetails ‐XX:+PrintGCTimeStamps ‐XX:+PrintGCDateStamps ‐ XX:+PrintHeapAtGC ‐Xloggc:../logs/gc.log"
内容总结
以上是互联网集市为您收集整理的部署测试JAVA Web和Tomcat配置优化全部内容,希望文章能够帮你解决部署测试JAVA Web和Tomcat配置优化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。