Skip to content

Instantly share code, notes, and snippets.

@xcaspar
Last active August 29, 2015 14:25
Show Gist options
  • Save xcaspar/9ada58a482c73f81195b to your computer and use it in GitHub Desktop.
Save xcaspar/9ada58a482c73f81195b to your computer and use it in GitHub Desktop.

Tomcat Connector

@(tomcat)[connector] 安装与配置

apache-tomcat http有3种接收连接请求的协议,分别是:BIO、NIO、APR。
BIO:是tomcat默认的协议,对应的Connector中protocol配置是"HTTP/1.1",或者是"org.apache.coyote.http11.Http11Protocol"。
NIO:利用java的异步io处理技术,对应的配置是"org.apache.coyote.http11.Http11NioProtocol"
APR:是利用系统级别来解决异步IO的问题。配置相对前两个比较麻烦,除了配置相应协议外"org.apache.coyote.http11.Http11AprProtocol",还有安装apr,步骤如下:

  1. 安装apr tar zxvf apr-1.4.2.tar cd apr-1.4.2 ./configure --prefix=/usr/local/apr make make install
  2. 安装apr-iconv tar -zxvf apr-iconv-1.2.1.tar.gz cd apr-iconv-1.2.1 ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr make make install
  3. 安装apr-util tar zxvf apr-util-1.3.10.tar.gz cd apr-util-1.3.10 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv make make install
  4. 安装tomcat-native tar zxvf tomcat-native-1.1.20-src.tar.gz cd tomcat-native-1.1.20-src/jni/native
    ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_23 make make install
  5. 添加环境变量 vi /etc/profile #在他文件末尾处添加下面的变量 export LD_LIBRARY_PATH=/usr/local/apr/lib 执行 source /etc/profile

性能比较

使用AB进行的并发测试,请求的是一静态文件,测试数据如下:
1测试数据
绘制成图表如下:
5数据图表
通过图表可以看出,在并发量大的情况下APR协议性能比较好;NIO性能比较稳定;BIO波动较大;如果考虑安装和部署方面,建议使用NIO协议。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment