如何优化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 优化相关推荐

  1. 九爷 带你了解 nginx优化与防盗链

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP  ...

  2. 我不是九爷 带你了解 ansible

      <我不是九爷> Ansible 1. 了解什么是ansible ansible是个什么东西呢?官方的title是"Ansible is Simple IT Automatio ...

  3. 我不是九爷 带了解 Unity3D与VR虚拟现实

    对于大多数人来说,可能不知道Unity3D是什么,但是却知道VR虚拟现实是什么,更不会把VR虚拟现实和Unity3D联系在一起,外行的人根本不知道这两者之间有什么关系.那么,今天来给你讲解一下Unit ...

  4. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  5. Tomcat学习总结(3)——Tomcat优化详细教程

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  6. tomcat优化-有改protocol 和 缓存 集群方案

    tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...

  7. Tomcat优化实践——网站运维

    为什么80%的码农都做不了架构师?>>>    作为底层码农,其实并不关心项目的优化!然而如今自己却不得不面对这样的问题,服务器的优化也许是最先优化的选择. 这里我就分享一下,虽然有 ...

  8. Apache Tomcat优化

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  9. tomcat优化-有改protocol 和 缓存 集群方案 转载自http://passover.blog.51cto.com/2431658/732629

    tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...

  10. 提高网站访问性能——Tomcat优化

    一.前言 tomcat 服务器在JavaEE项目中使用率非常高,所以在生产环境对tomcat的优化也变得非常重要了,对于tomcat的优化,主要是从2个方面入手,一是tomcat本身的配置,另一个是t ...

最新文章

  1. JVM系列三:JVM参数设置、分析
  2. AOP代理配置pointcut
  3. 字典树andXOR*
  4. OpenCV安装好了,show第一个例子,找找成就感~~~
  5. WINCE6.0+S3C2443的启动过程---内核启动
  6. 【django】配置URLconf
  7. [trustzone]-ARMV8的aarch64和aarch32环境下ELx级别的理解
  8. linux nginx 安装_艾编程基础教程:Linux 环境下 Nginx 安装
  9. php引号变量_下列PHP数据库insert语句中变量前后的点和双引号有什么作用?
  10. spring boot 中文文档地址
  11. VMware vSAN 6.7实战(六)配置vSAN存储策略
  12. python导入random模块_python random模块(随机数)详解
  13. oracle 10修改游标,Oracle10.2并发条件下更新游标数据的研究
  14. JAVA - JDK 1.8 API 帮助文档-中文版
  15. Windows下免费的屏幕录制软件——EV录屏——推荐
  16. 全开源三网免挂码支付系统源码/支付宝H5微信QQ免签支付源码/二维码收款免签支付系统源码
  17. svm 10折交叉验证 matlab,怎么用10折交叉验证程序?
  18. Hexo之NexT主题设置背景图片
  19. Java 添加Word文本水印、图片水印
  20. 2021软科计算机科学与技术,2021软科世界一流学科即将重磅发布!

热门文章

  1. swarm测试网如何查票?查票流程
  2. 手机银行消息服务器,服务与功能_手机银行_服务介绍_个人电子银行_电子银行频道_建设银行...
  3. Android手机ERP开发(二)
  4. 外贸企业如何选ERP管理软件
  5. LibreOffice 宏
  6. 前端如何制作出透明背景视频
  7. 阿里云香港服务器被攻击进黑洞了怎么办
  8. 认识计算机系统授课计划,计算机网络技术基础授课计划.doc
  9. 什么是元数据 (MetaData)
  10. matlabsvd提取特征值_在MATLAB中使用SVD压缩图像