史上最强Tomcat8性能优化(上)

授人以鱼不如授人以渔本博客的目的不在于给出最佳配置 , 而是带领开发者 , 能够从实际情况出发 , 通过不断的调节tomcat和jvm参数 , 去发现吞吐量 , 平均响应时间和错误率等信息的变化 , 同时根据服务器的cpu和内存等信息 , 结合接口的业务逻辑 , 最好是测试使用率最高 , 并发最大 , 或者是最重要的接口(比如下单支付接口) , 设置最优的tomcat和jvm配置参数 。
目的通过Tomcat性能优化可以提高网站的并发能力 。
Tomcat服务器在JavaEE项目中使用率非常高 , 所以在生产环境对Tomcat的优化也变得非常重要了 。
对于Tomcat的优化 , 主要是从2个方面入手 , 一是Tomcat自身的配置 , 另一个是Tomcat所运行的jvm虚拟机的调优 。
服务器资源服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响 。 硬件我们不说了 , 这个方面是钱越多越好是吧 。
Tomcat配置优化Linux环境安装运行Tomcat8具体的安装步骤可以参考Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项
如果需要登录系统 , 必须配置tomcat用户 , 在安装完Tomcat后 , 进行如下操作
在/conf/tomcat-users.xml文件中的标签里面添加如下内容
如果是tomcat7 , 配置了tomcat用户就可以登录系统了 , 但是tomcat8中不行 , 还需要修改另一个配置文件 , 否则访问不了 , 提示403 , 打开webapps/manager/META-INF/context.xml文件
打开浏览器进行访问10.172.0.202:8080
史上最强Tomcat8性能优化(上)文章插图
点击“Server Status” , 输入用户名、密码进行登录 , tomcat/tomcat
史上最强Tomcat8性能优化(上)文章插图
登录之后可以看到服务器状态等信息 , 主要包括服务器信息 , JVM , ajp和http信息
史上最强Tomcat8性能优化(上)文章插图
AJP连接在服务状态页面中可以看到 , 默认状态下会启用AJP服务 , 并且占用8009端口 。
史上最强Tomcat8性能优化(上)文章插图
什么是AJP
AJP(Apache JServer Protocol)AJPv13协议是面向包的 。 WEB服务器和Servlet容器通过TCP连接来交互;为了节省SOCKET创建的昂贵代价 , WEB服务器会尝试维护一个永久TCP连接到servlet容器 , 并且在多个请求和响应周期过程会重用连接 。
史上最强Tomcat8性能优化(上)文章插图
我们一般是使用Nginx+Tomcat的架构 , 所以用不着AJP协议 , 把AJP连接器禁用 。
修改conf下的server.xml文件 , 将AJP服务禁用掉即可 。