阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买
一直以来我们使用的Tomcat,你是否怀疑过它的性能呢。今天就来介绍一个简单提升Tomcat性能的方法,绝对是你居家旅行、杀人越货的必备佳品。
本着有图有真相的原则,我们先上性能测试报告,最后再讲解安装及配置方法。3倍的性能提升这绝对不是我在标题党。
测试环境
CPU:cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c –>4 Intel(R) Xeon(R) CPU E5-2407 0 @ 2.20GHz
内存:4G
APR-NIO:Tomcat 7.0.42+apr-1.4.8+apr-iconv-1.2.1+apr-util-1.5.2+tomcat-native-1.1.27
BIO:Tomcat 7.0.42(原生的Tomcat没啥好说的了)
说明:
1.其中X轴的10*10表示,并发10个线程,每个线程重复执行10次(对应AB中的参数为:-n 100 -c 10)
2.为了不影响性能,关闭Session连接
3.因为时间有限,每个数据只测试一次
4.为提高测试准确性,采用二台完全相同的服务器做单独测试(有服务器可用就是好 ),每次测试完重启Tomcat释放内存
5.测试页面为随机生成一年的降水量和蒸发量(数据是随机生成的,表当真)。其中页面大小为10K,引用的JS文件大小为270K
下面是测试页面截图:转存失败重新上传取消
测试报告
Case-1:Request Per Second对比测试(Y轴值越大越好)转存失败重新上传取消
Case-2:Time Per Request对比测试(Y轴值越小越好)转存失败重新上传取消
Case-3:一点疑惑
测试过程中APR-NIO Tomcat服务器的load average最高为4.45;而BIO Tomcat服务器的load average最高为1.60
按道理说NIO采用的是多路复用技术,开的线程应该远远少于BIO的场景,但是load average的情况为什么会相反呢?
测试结果是不是很心动?下面介绍下安装方法。
安装步骤
1.安装Tomcat-Apr 下载地址:http://apr.apache.org/
tar -xzvf apr-1.4.8.tar.gz
cd apr-1.4.8
./configure
make
make install
说明:下面的安装都使用默认目录了,避免后面配置出现不必要的麻烦
2.安装Apr-iconv 下载地址:http://apr.apache.org/ ;
tar -xzvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure --with-apr=/usr/local/apr
make
make install
3.安装Apr-util 下载地址:http://apr.apache.org/;
tar -zxvf apr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure --with-apr=/usr/local/apr
make
make install
阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买
4.安装Tomcat-native 下载地址:http://tomcat.apache.org/download-native.cgi ;
tar -xzvf tomcat-native-1.1.27-src.tar.gz
cd tomcat-native-1.1.27-src/jni/native/
./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0_25/
make
make install
以上安装工作完成,下面记录下我遇到几个问题
1.此时启动Tomcat如果以下错误:
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments
was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
请加入下面的环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
source /etc/profile
2.如果启动Tomcat如果以下错误:
SEVERE: Failed to initialize the SSLEngine.
org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform
请关闭SSL侦听,除非你有使用SSL
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
经过跋山涉水,当启动Tomcat的时候看到如下信息。那么恭喜你成功了!
转存失败重新上传取消