Tomcat之BIO/NIO/APR的三大模式

来源:互联网 发布:淘宝客营销和定向计划 编辑:程序博客网 时间:2024/05/17 01:45
1.BIO
     (1)BIO是最稳定最老的一个连接器,是采用阻塞的方式,意味着每个连接线程绑定到每个Http请求,直到获得Http响应返回,如果Http客户端请求的是keep-Alive连接,那么这些连接也许一直保持着直至达到timeout时间,这期间不能用于其它请求。性能差但是最稳定。
     (2)使用方式:直接就是出厂默认:注意协议是什么。


2.NIO
     (1)NIO是使用Java的异步IO技术,不产生阻塞。
     (2)使用方式:直接修改server.xml里的Connector节点,修改protocol为 :
protocol="org.apache.coyote.http11.Http11NioProtocol" 


3.APR
     (1)APR是使用原生C语言编写的非堵塞I/O,利用了操作系统的网络连接功能,速度很快,但是需先安装apr和native,若直接启动就支持apr,能大幅度提升性能,不亚于魔兽开局爆高科技兵种,威力强大。
     (2)使用方式:protocol=" org.apache.coyote.http11.Http11AprProtocol "
     (3)配置
①下载:http://apr.apache.org/download.cgi
②安装apr
     [1] 在目录/opt/apr/apr-1.5.2 下执行 :“./configure --prefix=/usr/local/apr
     [2] make
     [3] make install
③安装apr-iconv
              [1] 在目录/opt/apr/apr-iconv-1.2.1下执行 :“./configure --prefix=/usr/local/apr-iconv --with-                            apr=/usr/local/apr”。
     [2] make
     [3] make install
④安装apr-util
              [1]在目录/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 ”。
     [2]make
     [3]make install
⑤安装tomcat-native
     [1]tar -zxvf tomcat-native.tar.gz
              [2]在tomcat-native-1.1.33-src/jni/native/目录下执行:“./configure --with-apr=/usr/local/apr”。
     [3] make
     [4] make install
⑥设置apr的环境变量: vim /opt/tomcat7/bin/catalina.sh
编辑添加如下内容:"LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib export LD_LIBRARY_PATH",保存退出。
         ⑦重启tomcat查看日志
⑧粘贴便签内配置,也就是之前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" />
          ⑨登录Tomcat后台查看整体性能:http://localhost:8080/manager/status

4.测试:ab -n1000 -c100 http://localhost:8080/
            说明:具体测试方法和测试内容请看:http://blog.csdn.net/luomingkui1109/article/details/72821990
     
阅读全文
1 0
原创粉丝点击