-
薪技术|0到1学会性能测试第54课-Tomcat之APR配置
- 网站名称:薪技术|0到1学会性能测试第54课-Tomcat之APR配置
- 网站分类:技术文章
- 收录时间:2025-07-07 22:02
- 网站地址:
“薪技术|0到1学会性能测试第54课-Tomcat之APR配置” 网站介绍
前面的推文我们掌握了Tomcat服务器的3种监控技术知识。今天给大家分享Tomcat调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试,另外还有教程等同步资料,文末加小编VX:flyhappy111领取即可。
01APR配置
Tomcat可以使用APR(Apahce Portable Runtime)来提供更卓越的可伸缩性和性能,并且更好地集成本地服务器技术,APR是一个高可移植库,它以Apache HTTP Server 2.x为核心。APR有很多用途,包括访问高级IO功能(如sendfile、epoll和OpenSSL),OS级别功能(随机数生成、系统状态等等),本地进程管理(共享内存、NT管道和UNIX sockets),这些功能可以使Tomcat作为一个通常的前台WEB服务器,更好地和其它本地web技术集成,总体上让Java更有效率作为一个高性能web服务器平台而不是简单作为后台容器。
APR安装需要三个主要组件:
1)APR库;
2)基于APR的JNI(Native Interface)安装包;
3)OpenSSL库;
在Windows下安装:
在Windows二进制包中提供了tcnative包,它是一个静态包,包括OpenSSL和APR两个组件,针对自身的平台可以下载适合自己的平台,从安全性角度考虑,建议使用单独的OpenSSL和APR包。
在Linux下安装:
在很多Linux发行版中其实已经封装了APR和OpenSSL安装包,JNI安装包则依懒于APR、OpenSSL和JDK。
安装包的二进制源文件,打包在tomcat-native.tar.gz包中,对该文件进行解压和提取,提取后对文件进行配置、编辑和安装即可。即./configure、make和make install。
安装好之后,在server.xml文件中可以看到关于APR配置内容,如下是一个实例:
<?xml version='1.0' encoding='utf-8'?>
<Server port="-1" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Executor name="tomcatThreadPool" namePrefix="tomcat-http--" maxThreads="300" minSpareThreads="50"/>
<Connector
executor="tomcatThreadPool"
port="8080"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443"
acceptCount="100"
maxKeepAliveRequests="15"/>
<Connector
executor="tomcatThreadPool"
port="8443"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443"
acceptCount="100"
maxKeepAliveRequests="15"
SSLCertificateFile="${catalina.base}/conf/tcserver.crt"
SSLCertificateKeyFile="${catalina.base}/conf/tcserver.key"
SSLPassword="changeme"
SSLEnabled="true"
scheme="https"
secure="true"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true" deployOnStartup="true" deployXML="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
APR生命周期的监控配置如下:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
className表示监控的类名,SSLEngine属性用于配置是否启动SSL引擎,如果设置为“on”则启动SSL,如果设置为“off”则表示不启动SSL引擎,缺省值为“on”,这只是初始化SSL引擎,如果需要在连接器中使用SSL引擎,那么需要配置“SSLEnabled”属性,将“SSLEnabled”属性设置为“True”表示在该连接器中启动SSL引擎,将“SSLEnabled”属性设置为“False”表示在该连接器中不启动SSL引擎。
APR中配置连接器通常有三种:HTTP、HTTPS和AJP三种。
HTTP连接器配置:
当APR启动时,HTTP连接器会发送文件来处理大型静态文件,增加服务器的可伸缩性,HTTP连接器的常用配置选项,见表10-2
表10-2 HTTP连接器配置项
HTTPS连接器配置:
当APR启动后,HTTPS连接器将使用socket用于轮回,以增加服务器的可伸缩性,也可以使用OpenSSL,但是否比JSSE更有优势,取决于处理器,与HTTP连接器不同的是,HTTPS连接器不能发送文件对静态文件进行处理。HTTPS APR与HTTP APR有很多相同的基本属性,但OpenSSL是特定的,连接器的常用配置选项,见表10-3。
表10-3 HTTPS连接器配置项
一个关于SSL连接器配置的实例:
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLCertificateFile="${catalina.base}/conf/localhost.crt"
SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
AJP连接器配置:
当APR启动后,AJP连接器将使用socket用于轮回,以增加服务器的可伸缩性,与HTTP连接器不同的是,HTTPS连接器不能发送文件对静态文件进行处理。
AJP连接器的常用配置选项,见表10-4
下期分享JVM调优技术,敬请关注!
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 二调符号库 (23)
- acmecadconverter_8.52绿色版 (25)
- f12019破解 (16)
- 流星蝴蝶剑修改器 (18)
- np++ (17)
- 梦幻诛仙表情包 (36)
- 魔兽模型 (23)
- java面试宝典2019pdf (26)
- beamoff下载 (17)
- disk++ (30)
- vncviewer破解版 (20)
- word文档批量处理大师破解版 (19)
- pk10牛牛 (20)
- 加密与解密第四版pdf (29)
- iteye (26)
- parsevideo (22)
- ckeditor4中文文档 (20)
- centos7.4下载 (32)
- cuda10.1下载 (22)
- intouch2014r2sp1永久授权 (33)
- usb2.0-serial驱动下载 (24)