Tomcat性能優化-2

修改Connector運行模式 啟用NIO 或 APR

bio介紹

bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是傳統的Java I/O操作
默認模式,性能最差,沒有經過任何優化處理和支持
nio模式

nio(non-blocking I/O),Java SE 1.4及后續版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個基于緩沖區、
并能提供非阻塞I/O操作的Java API。
擁有比bio更好地性能

修改%CATALINA_HOME%/server.xml

源:<Connector port="8080" protocol="HTTP/1.1"
                    connectionTimeout="20000"
                    redirectPort="8443" />

修改protocol的值為:org.apache.coyote.http11.Http11NioProtocol
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
                    connectionTimeout="20000"
                    redirectPort="8443" />
service tomcat restart生效
apr模式

apr(Apache Portable Runtime/Apache可移植運行時庫),Tomcat將以JNI的形式調用Apache HTTP服務器的核心動態鏈接庫來處理文件讀取或網
絡傳輸操作,從而大大地提高Tomcat對靜態文件的處理性能。從操作系統級別來解決異步的IO問題,大幅度的提高性能。 Tomcat apr也是在Tomcat
上運行高并發應用的首選模式。

要讓tomcat以apr模式運行,需要安裝 apr 和 native
安裝apr
yum -y install apr apr-devel

yum -y install gcc
 
安裝native
cd /data/tomcat/bin/
tar xzfv tomcat-native.tar.gz
cd tomcat-native-1.1.33-src/jni/native/
./configure --with-apr=/usr/bin/apr-1-configmake && make install

整合Tomcat apr

    在/etc/profile中加入
    export CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib
    source /etc/profile
    
    修改配置文件server.xml
    
    源:<Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />
    修改protocol的值為org.apache.coyote.http11.Http11NioProtocol
    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
                connectionTimeout="20000"
                redirectPort="8443" />
    重啟

查看Tomcat Connector運行模式

方法一:在http://x.x.x.x:8080/manager/status 中查看服務器狀態 
"http-apr-8080"

方法二:根據Tomcat啟動日志信息判斷
    bio
        INFO: Initializing ProtocolHandler ["http-bio-8080"]
        Aug 04, 2015 10:20:35 PM org.apache.coyote.AbstractProtocol init12
    nio
        INFO: Initializing ProtocolHandler ["http-nio-8080"]
        Aug 04, 2015 10:27:58 PM org.apache.coyote.AbstractProtocol init12
    apr
        NFO: Initializing ProtocolHandler ["http-apr-8080"]
        Aug 04, 2015 10:33:45 PM org.apache.coyote.AbstractProtocol init12

轉載:http://blog.csdn.net/loyachen/article/details/47280237

原創文章,作者:心肝壞了,如若轉載,請注明出處:http://www.www58058.com/41978

(0)
心肝壞了心肝壞了
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • MooseFS性能圖表[原創]

    對MooseFS有了一定的了解,現在可以壓壓它的性能了,使用的是iozone IO測試工具。測試命令為:./iozone -a -n 512m -g 4g -i 0 -i 1 -f /mnt/mfs/logs/test.tar.gz -Rb ./iozone.xls -C測試說明1、/mnt/mfs/logs/test.tar.gz大小為9.2G,大于服務器…

    Linux干貨 2015-03-27
  • vim編輯器整理(無演示)

    vim編輯器 vim編輯器是linux中最強大的全屏幕純文本編輯器,他是vi編輯器的增強版。 文本編輯器: 文本:純文本,在ASCII角度講是純粹的不加任何修飾的文本信息     支持Unicode編碼方式 文本編輯器種類: 行編輯器:sed 全屏編輯器:nano,vi vi : (VIsual&n…

    Linux干貨 2016-08-10
  • 01

    0101

    Linux干貨 2016-08-08
  • 網絡通信安全基礎OpenSSL

    OpenSSL: NIST: 保密性: 數據保密性 隱私性 完整性: 數據完整性 系統完整性 可用性  安全攻擊: 被動攻擊:竊聽 主動攻擊:偽裝、重放、消息篡改、拒絕服  安全機制: 加密、數字簽名、訪問控制、數據完整性、認證交換、流量填充、路由控制、公證 安全服務: 認證 訪問控制 數據保密性 連接保密性 無連接保密性 選擇域保密性 …

    Linux干貨 2015-09-06
  • 第一篇博客,以下。

    一、 linux 你好!    學習linux的心情。        又一次接觸了linux,內心還是很忐忑的。記得大二學過半學期的linux,那是一門考查課,所以可想而知學的是三天打魚兩天曬網。也不知道是怎樣的機緣,讓我在一年后又一次遇見了它。我想說,雖然你…

    2017-07-15
  • 第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。                 使用到命令chmod &nbsp…

    Linux干貨 2017-02-02
欧美性久久久久