JVM优化-Tomcat8优化
2020-08-07 00:00
1026 查看
Tomcat配置优化
需要先下载这个Tomcat8的服务器,JDK等一系列操作
优化前配置
给Tomcat设置角色
cd /tmp wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apachetomcat-8.5.34.tar.gz tar -xvf apache-tomcat-8.5.34.tar.gz cd apache-tomcat-8.5.34/conf #修改配置文件,配置tomcat的管理用户 vim tomcat-users.xml #写入如下内容: <role rolename="manager"/> <role rolename="manager-gui"/> <role rolename="admin"/> <role rolename="admin-gui"/> <user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager"/> #保存退出 #如果是tomcat7,配置了tomcat用户就可以登录系统了,但是tomcat8中不行,还需要修改另一个配置文件,否则访 问不了,提示403 vim webapps/manager/META-INF/context.xml
将Valve的内容注释掉
去bin目录下去打开Tomcat服务器
./startup.sh # 开启服务
操作Tomcat
点击这里登陆用户名密码我们前边设置了都是tomcat
登陆之后的效果就是这样
优化点1: 禁用AJP的连接
在服务状态下,默认启用AJP服务,还占用了8009端口
什么是AJP?
AJP(Apache JServer Protocol),AJPv13协议是面向包的,Web服务器和Servlet容器通过TCP连接来交互,为了节省SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久TCP连接到Servlet容器,并且在多个请求和响应周期过程会重用连接
我们一般是使用Nginx+Tomcat的架构,所以用不着AJP协议,所以AJP连接器禁用。
修改Conf下的server.xml文件,将AJP服务禁用
<!-- 注释这一行 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
我们打开文件来看看(通常是116行)
禁用AJP以后的效果
优化点2:执行器(线程池)优化
在tomcat里媒体哥用户请求都是一个线程,所以可以使用线程池提高性能。
优化打开Exeutor,修改server.xml文件
<!--将注释打开--> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" prestartminSpareThreads="true" maxQueueSize="100"/> <!-参数说明: maxThreads:大并发数,默认设置 200,一般建议在 500 ~ 1000,根据硬件设施和业务来判断 minSpareThreads:Tomcat 初始化时创建的线程数,默认设置 25 prestartminSpareThreads: 在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true, minSpareThreads 的值就没啥效果了 maxQueueSize,大的等待队列数,超过则拒绝请求 --> <!--在Connector中设置executor属性指向上面的执行器--> <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改上面配置以后,可以看到这个基本数据都配置成功了,但是有一个-1
在页面中显示大线程数为-1,这个是正常的,仅仅是显示的问题,实际使用的指定的值。
Tomcat三种运行模式
tomcat的运行模式有3种:
- BIO:默认的模式,性能低下,没有经过过任何优化处理和支持
- NIO (New I/O),是Java SE1.4及后续版本提供的一种新的I/O操作方式(既java.nio包及其子包),java nio是一个基于缓冲区,并能提供非阻塞/O操作的JavaAPI,因此NIO也被看做是Non-Blocking I/O的缩写,它拥有比传统I/O操作(BIO更好的并发运行性能
- APR:安装器来困难,但是先操作系统级别来解决异步的IO问题,大幅度提高性能
我们推介是我用他那个NIO,但是Tomcat8会有NIO2,速度更快,因此使用NIO2
设置NO2
<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443" />
这样就设置好了
相关文章推荐
- 优化tomcat——jvm
- Tomcat 性能优化(连接数、线程、JVM、dir)
- Linux下jvm、tomcat、mysql、log4j优化配置笔记
- Tomcat 调优及 JVM 参数优化
- Tomcat/JVM常见问题排除及性能优化
- tomcat发布在阿里云上,优化JVM启动参数。。
- Tomcat 调优及 JVM 参数优化
- Linux下jvm、tomcat、mysql、log4j优化配置
- JVM崩溃Log日志分析和jvm参数在哪里设置和tomcat优化(全)
- JVM之Tomcat的优化
- Tomcat 性能优化(连接数、线程、JVM、dir)
- tomcat及jvm优化
- Linux下jvm与tomcat的安全与优化
- tomcat7 设置jvm优化参数
- tomcat7 ,JVM性能优化,提高并发
- tomcat设置java jvm参数 优化
- 线上Linux服务器优化经验13 Tomcat JVM参数优化策略
- 性能优化专题复习:JVM+Tomcat+MySQL+面试题+学习笔记等
- 高并发-linux-tomcat-JVM优化-设置JVM参数
- JVM&Tomcat&MySql&Log4J优化配置(转)