1.BIO
BIO是最稳定最老的一个连接器,是采用阻塞的方式,意味着每个连接线程绑定到每个Http请求,直到获得Http响应返回,如果Http客户端请求的是keep-Alive连接,那么这些连接也许一直保持着直至达到timeout时间,这期间不能用于其它请求。性能差但是最稳定。
使用方式:直接就是出厂默认:注意协议是什么。
|
2.NIO
NIO是使用Java的异步IO技术,不产生阻塞。
使用方式:直接修改server.xml里的Connector节点,修改protocol为 :protocol="org.apache.coyote.http11.Http11NioProtocol"
|
3.APR
APR是使用原生C语言编写的非堵塞I/O,利用了操作系统的网络连接功能,速度很快,但是需先安装apr和native,若直接启动就支持apr,能大幅度提升性能,不亚于魔兽开局爆高科技兵种,威力强大。
3.1 使用方式:protocol=" org.apache.coyote.http11.Http11AprProtocol "
3.2 配置
3.2.1 下载:http://apr.apache.org/download.cgi
3.2.2 安装apr
• 在目录/opt/apr/apr-1.5.2 下执行 :“./configure --prefix=/usr/local/apr ”。
• make
• make install
3.2.3 安装apr-iconv
• 在目录/opt/apr/apr-iconv-1.2.1 下执行 :“./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr”。
• make
• make install
3.2.4 安装apr-util
• 在目录/opt/apr/apr-util-1.5.4下执行 : “./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv ”。
• make
• make install
3.2.5 安装tomcat-native
• tar -zxvf tomcat-native.tar.gz
• 在tomcat-native-1.1.33-src/jni/native/目录下执行:“./configure --with-apr=/usr/local/apr ”。
• make
• make install
3.2.6 设置apr的环境变量: vim /opt/tomcat7/bin/catalina.sh
• 编辑添加如下内容:"LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib export LD_LIBRARY_PATH",
• 保存退出。
3.2.7 重启tomcat查看日志
3.2.8 粘贴便签内配置,也就是之前Tomact并发优化的servlet.xml文件复杂版内容。
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
URIEncoding="UTF-8"
maxConnections="10000"
maxThreads="2000"
acceptCount="2000"
minSpareThreads="100"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
enableLookups="false"
disableUploadTimeout="true"
connectionTimeout="20000"
redirectPort="8443" />
3.2.9 登录Tomcat后台查看整体性能:http://localhost:8080/manager/status
4.apache 的ab压力测试
测试:ab -n1000 -c100 http://localhost:8080/
说明:具体测试方法和测试内容请看:apache的ab压力测试。