我是靠谱客的博主 深情豆芽,最近开发中收集的这篇文章主要介绍tomcat性能调优(自己公司的真实项目),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景:

原来用的是weblogic,后来由于阿里云服务许多jar包与weblogic不兼容,采用了将不兼容功能及jar部署在tomcat的情况。

随着这种情况越来越多,不太好管理项目,所以决定用回tomcat。开源的优势就不说了。下面进行实操。

目的:

weblogic主要主要是性能稳定,不用管太多,一般不会挂掉。tomcat优势是开源,但需要自己调参数,达到自己满意的程度。

这次仍然以性能稳定为目的。

实操:

一、了解环境

查看服务器信息

命令:cat /etc/redhat-release

查看服务器内存情况

命令:free -m

有8G内存

查看cpu、内存实时情况

命令:top

查看jvm和tomcat配置情况

jvm和tomcat均采用了默认安装

tomcat默认使用内存大小

VM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.

JVM在启动的时候会自动设置Heap size的值,

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。

可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置

 

 

以树状结果查看tomcat目录

tree -L N

参考文档:https://blog.csdn.net/qq_28602957/article/details/52511529;https://blog.csdn.net/xuehuafeiwu123/article/details/53817161

查看项目位置

[cudo@test1-237 app]$ cat yeah100_svc_local/conf/server.xml

类似的前端地址

 

文件字符串查找

使用vim查找字符串:https://jingyan.baidu.com/article/219f4bf793a0c2de442d38f1.html

/字符串  ; n下一个匹配;N上一个匹配

VIM中的翻页命令

向上翻页:Ctrl + f 或者PageUp键

向下翻页 :  Ctrl + b 或者PageDown键

f就是forword b就是backward

 

翻半页
ctrl-d ctlr-u
d=down u=up

滚一行
ctrl-e ctrl-y

zz 让光标所在的行居屏幕中央
zt 让光标所在的行居屏幕最上一行 t=top
zb 让光标所在的行居屏幕最下一行 b=bottom

 

跳转到文件头(首页)

输入冒号(:),打开命令输入框

输入命令1,是“一”的阿拉伯数字,不是小写的L

跳转到文件尾(尾页)

输入冒号(:),打开命令输入框

输入命令:$

:u 为撤回操作(相当于windows ctrl+z)

 

 

二、开始优化

参考链接:

tomcat7 性能优化 https://blog.csdn.net/wang386851725/article/details/54911568

简单优化说明:https://www.cnblogs.com/hukey/p/5517314.html

1、线程池

等待先不要设置,经测试会在并发超过maxQueueSize值时被拒绝而访问失败。

不设置,默认为maxQueueSize="Integer.MAX_VALUE" --被执行前线程的排队数目

2、禁用 AJP

(如果你服务器没有使用 Apache) 
把下面这一行注释掉,默认 Tomcat 是开启的。

<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->

3、内存管理

如果说我们需要经常创建对象啊  而且对象使用完后马上会被回收的,这种场景年轻代可以适当调大

根据我们的应用暂时不用调整


 

 

4、修改连接器协议

换为nio2协议可以更快

protocol="org.apache.coyote.http11.Http11Nio2Protocol"

启动效果

https://blog.csdn.net/bluetjs/article/details/77449535

protocol:Tomcat 8 设置 nio2 更好:org.apache.coyote.http11.Http11Nio2Protocol
protocol:Tomcat 6 设置 nio 更好:org.apache.coyote.http11.Http11NioProtocol
protocol:Tomcat 8 设置 APR 性能飞快:org.apache.coyote.http11.Http11AprProtocol 更多详情:《Tomcat 8.5 基于 Apache Portable Runtime(APR)库性能优化》

采用nio2测试结果

5、启动压缩

<Connector port="80" protocol="HTTP/1.1"   
         connectionTimeout="20000"   
         redirectPort="8443" executor="tomcatThreadPool" URIEncoding="utf-8"  
         compression="on"   
         compressionMinSize="50"
         noCompressionUserAgents="gozilla, traviata"
        useSendfile="false" 
    compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain"  />

https://www.jianshu.com/p/91d619445f8e

 

参考资料:

Tomcat优化详细教程:https://www.cnblogs.com/songanwei/p/9441288.html

JVM菜鸟进阶高手之路【系列】:https://blog.csdn.net/column/details/17179.html

tomcat8性能优化:https://www.jianshu.com/p/267b6a48c7d8

Linux下Tomcat设置内存解决内存溢出:https://www.cnblogs.com/mountainTop/p/7040668.html

jdk8中tomcat修改配置PermSize为MetaspaceSize:https://blog.csdn.net/qq924862077/article/details/51540171

GC日志查看分析:https://blog.csdn.net/timheath/article/details/53053106

查看jdk 线程 日志:http://www.cnblogs.com/wzhanke/p/4685452.html

认知迭代:Tomcat性能提升的实战操作,提升60倍以上tomcat性能:https://blog.csdn.net/zhuwenqiancn/article/details/78623822

Tomcat性能调优实战:http://www.cnblogs.com/scote/p/9565344.html

Tomcat 8.5 基于 Apache Portable Runtime(APR)库性能优化:https://renwole.com/archives/361

通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔:https://blog.csdn.net/lifetragedy/article/details/7708724

Springboot Tomcat APR模式详解和实践:https://www.jianshu.com/p/f716726ba340

 

最后

以上就是深情豆芽为你收集整理的tomcat性能调优(自己公司的真实项目)的全部内容,希望文章能够帮你解决tomcat性能调优(自己公司的真实项目)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部