tomcat apr模式
概要
- 开启apr需要的环境
- 环境搭建
- 开启apr模式
- spring boot
- tomcat
相关文件
环境搭建
1.apr安装
解压apr包,默认安装目录在 /usr/local/apr 可以通过–prefix=xxx修改
1 | cd apr && sudo ./configure && sudo make && sudo make install |
2.openssl安装
Mac系统
1 | brew install openssl |
linux系统
In debian based Linux those dependencies could be installed by something like:
1 | apt-get install libapr1.0-dev libssl-dev |
In rpm based Linux those dependencies could be installed by something like:
1 | yum install apr-devel openssl-devel |
3.tomcat-native安装
下载tomcat-native 然后解压。
1 | cd /tomcat-native/native/ -\ |
编译成功后,会在/usr/local/apr/lib下有libtcnative-1.0.dylib的库文件,这个就是tomcat启动的依赖库
需要把该文件拷贝到jdk的Extensions目录下就行
1 | sudo cp /usr/local/apr/lib/libtcnative-1.dylib /Library/Java/Extensions/ |
开启apr模式
spring boot中开启apr模式
1 |
|
tomcat
修改protocol值
Tomcat默认是HTTP/1.1,如果运行apr模式需要把protocol值修改成apr模式:org.apache.coyote.http11.Http11AprProtocol1
2# vi server.xml
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
修改SSLEngine
1
2# vi server.xml
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
压测
总结
- AprEndpoint:用C实现,通过JNI调用的。主要提升对静态资源(如HTML、图片、CSS、JS等)的访问性能。
- AprEndpoint和NioEndpoint在性能上基本接近
结论:前后端分离的项目推荐使用Nio方式,不分离项目可以尝试开启apr模式
apr模式需要环境支持