九爷带你了解 Tomcat 优化
如何优化tomcat配置(从内存、并发、缓存4个方面)优化
[+]
Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。
一.Tomcat内存优化
Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。
JAVA_OPTS参数说明
-server 启用jdk 的 server 版;
-Xms Java虚拟机初始化时的最小内存;
-Xmx java虚拟机可使用的最大内存;
-XX: PermSize 内存永久保留区域
-XX:MaxPermSize 内存最大永久保留区域
服务器参数配置
现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:
JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m’
配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:
首先查看Tomcat 进程号:
sudo lsof -i:9027
我们可以看到Tomcat 进程号是 12222 。
查看是否配置生效:
sudo jmap – heap 12222
我们可以看到MaxHeapSize 等参数已经生效。
二.Tomcat并发优化
1.Tomcat连接相关参数
在Tomcat 配置文件 server.xml 中的
<Connector port="9027" protocol="HTTP/1.1" maxHttpHeaderSize="8192" minProcessors="100" maxProcessors="1000" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true"/>1234567812345678
2.调整连接器connector的并发处理能力
1>参数说明
maxThreads 客户请求最大线程数
minSpareThreads Tomcat初始化时创建的 socket 线程数
maxSpareThreads Tomcat连接器的最大空闲 socket 线程数
enableLookups 若设为true, 则支持域名解析,可把 ip 地址解析为主机名
redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
URIEncoding URL统一编码
2>Tomcat中的配置示例
<Connector port="9027" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="1000" minSpareThreads="100" maxSpareThreads="1000" minProcessors="100" maxProcessors="1000" enableLookups="false" URIEncoding="utf-8" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true"/>1234567891011121312345678910111213
3.Tomcat缓存优化
1>参数说明
c ompression 打开压缩功能
compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB
compressableMimeType 压缩类型
connectionTimeout 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间
2>Tomcat中的配置示例
<Connector port="9027" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="1000" minSpareThreads="100" maxSpareThreads="1000" minProcessors="100" maxProcessors="1000" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding="utf-8" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true"/>12345678910111213141516171234567891011121314151617
4.参考配置
1>旧有的配置
参考网络对服务器做过如下配置,拿出来分享下:
reads="1000" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding="utf-8" acceptCount="200" redirectPort="8443" disableUploadTimeout="true" />123456789101112131415123456789101112131415
后来发现在访问量达到3 百万多的时候出现性能瓶颈。
2>更改后的配置
<Connector port="9027" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="1000" minSpareThreads="100" maxSpareThreads="1000" minProcessors="100" maxProcessors="1000" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding="utf-8" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true"/>
总结:再牛的服务器,也顶不住兼容不好的代码 优化的条件是良好的代码质量和设计。
九爷带你了解 Tomcat 优化相关推荐
- 九爷 带你了解 nginx优化与防盗链
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP ...
- 我不是九爷 带你了解 ansible
<我不是九爷> Ansible 1. 了解什么是ansible ansible是个什么东西呢?官方的title是"Ansible is Simple IT Automatio ...
- 我不是九爷 带了解 Unity3D与VR虚拟现实
对于大多数人来说,可能不知道Unity3D是什么,但是却知道VR虚拟现实是什么,更不会把VR虚拟现实和Unity3D联系在一起,外行的人根本不知道这两者之间有什么关系.那么,今天来给你讲解一下Unit ...
- 九爷带你了解 nginx 日志配置指令详解
nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...
- Tomcat学习总结(3)——Tomcat优化详细教程
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...
- tomcat优化-有改protocol 和 缓存 集群方案
tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...
- Tomcat优化实践——网站运维
为什么80%的码农都做不了架构师?>>> 作为底层码农,其实并不关心项目的优化!然而如今自己却不得不面对这样的问题,服务器的优化也许是最先优化的选择. 这里我就分享一下,虽然有 ...
- Apache Tomcat优化
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...
- tomcat优化-有改protocol 和 缓存 集群方案 转载自http://passover.blog.51cto.com/2431658/732629
tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...
- 提高网站访问性能——Tomcat优化
一.前言 tomcat 服务器在JavaEE项目中使用率非常高,所以在生产环境对tomcat的优化也变得非常重要了,对于tomcat的优化,主要是从2个方面入手,一是tomcat本身的配置,另一个是t ...
最新文章
- JVM系列三:JVM参数设置、分析
- AOP代理配置pointcut
- 字典树andXOR*
- OpenCV安装好了,show第一个例子,找找成就感~~~
- WINCE6.0+S3C2443的启动过程---内核启动
- 【django】配置URLconf
- [trustzone]-ARMV8的aarch64和aarch32环境下ELx级别的理解
- linux nginx 安装_艾编程基础教程:Linux 环境下 Nginx 安装
- php引号变量_下列PHP数据库insert语句中变量前后的点和双引号有什么作用?
- spring boot 中文文档地址
- VMware vSAN 6.7实战(六)配置vSAN存储策略
- python导入random模块_python random模块(随机数)详解
- oracle 10修改游标,Oracle10.2并发条件下更新游标数据的研究
- JAVA - JDK 1.8 API 帮助文档-中文版
- Windows下免费的屏幕录制软件——EV录屏——推荐
- 全开源三网免挂码支付系统源码/支付宝H5微信QQ免签支付源码/二维码收款免签支付系统源码
- svm 10折交叉验证 matlab,怎么用10折交叉验证程序?
- Hexo之NexT主题设置背景图片
- Java 添加Word文本水印、图片水印
- 2021软科计算机科学与技术,2021软科世界一流学科即将重磅发布!
热门文章
- swarm测试网如何查票?查票流程
- 手机银行消息服务器,服务与功能_手机银行_服务介绍_个人电子银行_电子银行频道_建设银行...
- Android手机ERP开发(二)
- 外贸企业如何选ERP管理软件
- LibreOffice 宏
- 前端如何制作出透明背景视频
- 阿里云香港服务器被攻击进黑洞了怎么办
- 认识计算机系统授课计划,计算机网络技术基础授课计划.doc
- 什么是元数据 (MetaData)
- matlabsvd提取特征值_在MATLAB中使用SVD压缩图像