VHSCamcordeVHSCamcorde07-18 00:50

tomcat性能提升3倍不是梦

一直以来我们使用的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
下面是测试页面截图:
tomcat
测试报告
Case-1:Request Per Second对比测试(Y轴值越大越好)
tomcat2
Case-2:Time Per Request对比测试(Y轴值越小越好)
tomcat3

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


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的时候看到如下信息。那么恭喜你成功了!
tomcat4

程序之家二维码

000
评论