apr(Apache Portable Runtime/Apache可移植运行库)是Apache HTTP服务器的支持库。从操作系统级别解决异步I/O问题,大幅度提高服务器的并发处理性能,也是Tomcat生产环境运行的首选方式。要tomcat支持apr,必须安装apr和native,这样tomcat才可以利用apache的apr接口,使用操作系统的部分本地操作,从而提升性能。
优化步骤如下:
- 安装Tomcat Native
- 安装依赖包:yum -y install apr-devel gcc gcc-c++ openssl-devel openssl
- 一般情况下tomcatbin文件夹下就有 Tomcat Native 的压缩包,解压即可
- 进入到native目录下
- 预编译 Tomcat Native,执行命令,其中可以指定自定义的jdk路径 ./configure --with-apr=/usr/ --with-java-home=/usr/local/jdk1.8.0_191 --with-ssl
- 说明:./configure有两个参数需要注意下,--with-apr=/usr/提供的是查找apr的路径可以更详细的一点,--with-java-home后面跟随的地址要和"echo $JAVA_HOME"输出地址一致。
- make && make install
- 安装依赖包:yum -y install apr-devel gcc gcc-c++ openssl-devel openssl
-
在tomcat配置
-
bin中 catalina.sh,JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"
-
conf server.xml,配置使用apr线程池
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="900" minSpareThreads="90"/> <Connector executor="tomcatThreadPool" port="8081" protocol="org.apache.coyote.http11.Http11AprProtocol" connectionTimeout="20000" redirectPort="8443" acceptCount="900" disableUploadTimeout="true" URIEncoding="UTF-8" enableLookups="false" compression="on" compressionMinSize="2048" />
-
最后重启验证