博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat 性能优化
阅读量:5309 次
发布时间:2019-06-14

本文共 1607 字,大约阅读时间需要 5 分钟。

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器。Tomcat 具有处理HTML页面的功能,另外它还是一个 Servlet 和 JSP容器,独立的 Servlet 容器是Tomcat的默认模式。

1. 体系结构

Tomcat 服务器是由一系列可配置的组件构成的,其中核心组件是Catalina Servlet容器,它是所有其他组件的顶层容器。

(1)Server 表示整个的Catalina Servlet容器,可以包含一个或多个 Service 组件。

(2)Service 组件将一个或多个连接器组件(Connector)绑定到一个 Servlet 引擎(Engine)上。

(3)Connector 组件负责与客户端通信,负责接收客户端请求,以及返回响应结果给客户端。

(4)Engine 组件从 Connector 接收和处理所有的请求,将响应返回给 Connector,最终通过 Connector 传送给客户端。每个 Service 组件只能包含一个 Engine。

(5)Host 表示一个虚拟主机,一个引擎可以包含多个 Host。

(6)Context 表示一个 Web 应用程序,运行在特定的虚拟主机中。一个 Host 可以包含一个或多个 Context。

2. 性能调优

tomcat 默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈。

(1)JVM内存优化

编辑TOMCAT_HOME/bin/catalina.sh:

JAVA_OPTS="-server -Xms1024m -Xmx2048m -Xss512k -Djava.awt.headless=true"

-server:启用 JDK 的 server 版本;

-Xms:Java初始化时堆的最小内存;

-Xmx:Java可使用堆的最大内存;

-Xss:每个线程的堆栈大小,一般不超过1M,否则容易出现out of memory。

(2)线程优化

默认配置下,Tomcat 会为每个连接器创建一个绑定的线程池,使用线程来处理接收的每个请求。

编辑 conf/server.xml 配置文件中 <Connector ... />项:

maxThreads:Tomcat 可创建的最大的线程数,默认值是 200。

minSpareThreads:Tomcat 初始化的线程数,表示即使没有请求也开启的线程数,默认值是 10。

maxSpareThreads:最大空闲线程数。

connectionTimeout:网络连接超时,单位:毫秒。设置为 0 表示永不超时,通常可设置为 30000 毫秒。

minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10。

maxProcessors:最大连接线程数,并发处理的最大请求数,默认值为 75。

acceptCount:允许的最大连接数 ,默认值为 100。

enableLookups:是否反查域名,为了提高处理能力,应设置为 false。

compression="on":打开压缩功能。  

compressionMinSize:启用压缩的输出内容大小。

compressableMimeType:压缩类型。

 

转载于:https://www.cnblogs.com/yutb/p/11250970.html

你可能感兴趣的文章
第五章 如何使用Burp Target
查看>>
Sprint阶段测试评分总结
查看>>
sqlite3经常使用命令&amp;语法
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
属性动画
查看>>
标识符
查看>>
给大家分享一张CSS选择器优选级图谱 !
查看>>
Win7中不能调试windows service
查看>>
通过httplib2 探索的学习的最佳方式
查看>>
快来熟练使用 Mac 编程
查看>>