亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Tomcat性能優化

系統 2042 0

Tomcat6.18版本:apache-tomcat-6.0.18

?

Why

每個web客戶端請求對于服務器端來說就一個單獨的線程,客戶端的請求數量增多將會導致線程數就上去了,CPU就忙著跟線程切換。

而NIO則是使用單線程(單個CPU)或者只使用少量的多線程(多CPU)來接受Socket,而由線程池來處理堵塞在pipe或者隊列里的請求.這樣的話,只要OS可以接受TCP的連接,web服務器就可以處理該請求。大大提高了web服務器的可伸縮性。


?

大家都聽說了在 Apache Tomcat 6 中支持了Java語言的特性 NIO( New I/O),不管你對NIO的技術是否熟悉,但你肯定能想象的到NIO是一個好東西。的確,使用NIO在服務器端會有更好的性能,加強服務器端對并發處理的性能。? 請注意:很抱歉,在tomcat6在默認的配置選項中是沒有把NIO功能打開。所以很多正在使用Tomcat6的朋友們本以為能快活的使用上NIO。

不信,你可以試試,從Apache Tomcat 站點 下載 的Tomct6 壓縮包中 conf/server.xml的 配置文件第 69 行,內容如下:

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

進行測試,可以在控制臺的啟動信息里看見, 默認狀態下 沒有被打開nio配置,啟動時的信息,如下:
2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2010-2-1 12:59:40 org.apache.catalina.startup.Catalina load

修改成支持NIO的類型,配置如下

<Connector port="8080" protocol=" org.apache.coyote.http11.Http11NioProtocol "
?????????????? connectionTimeout="20000"
?????????????? redirectPort="8443" />

進行測試,被打開nio配置,啟動時的信息,如下:
2010-2-1 13:01:01 org.apache. tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
2010-2-1 13:01:01 org.apache.coyote. http11.Http11NioProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080

這樣才能讓你真正體驗到Tomcat6下NIO給你的系統帶來的快感。

–end–

?

?

黃海的配置:

<Connector port="8080"
??????? protocol="org.apache.coyote.http11.Http11NioProtocol"
??????? executor="tomcatThreadPool"
??????? compression="on"
??????? compressionMinSize="2048"
??????? maxThreads="30000"
??????? minSpareThreads="512"
??????? maxSpareThreads="2048"
??????? enableLookups="false"
??????? redirectPort="8443"
??????? acceptCount="35000"
??????? debug="0"
??????? connectionTimeout="40000"
??????? disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />

連接器使用的線程池的名子:executor="tomcatThreadPool"

連接器端口 ????????????????????????? :port="8090"

連接器使用的傳輸方式 ??????? :protocol="org.apache.coyote.http11.Http11NioProtocol"

傳輸時是否支持壓縮 ??????????? :compression="on"

壓縮的大小 ????????????????????????? :compressionMinSize="2048"

3.設置Tomcat連接器池。

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="350" />

黃海在配置文件中添加了如下配置:

?

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="350" />

?

?

?

??????? 線程池名: ???????????name=" tomcatThreadPool "

??????? 線程前綴: ???????????namePrefix=" catalina-exec- "

??????? 最大產生線程數:maxThreads=" 1000"

??????? 最小初始現程數:minSpareThreads=" 350"

?

?

?

?

問題描述:

系統環境(在 Tomcat Server Status 中直接復制過來)

Tomcat Version JVM Version JVM Vendor OS Name OS Version OS Architecture
Apache Tomcat/6.0.32 1.6.0_20-b02 Sun Microsystems Inc. Windows XP 5.1 x86


在 Tomcat 的 $CATALINA_HOME/bin 目錄下加了 tcnative-1.dll ,結果關閉服務時出現如下錯誤。

Logs/catalina.2011-08-02.log 代碼 復制代碼 ? 收藏代碼
  1. 2011 - 8 - 2 ? 9 : 03 : 53 ?org.apache.tomcat.util.net.AprEndpoint$Acceptor?run ??
  2. 嚴重:?Socket?accept?failed ??
  3. org.apache.tomcat.jni.Error:?A?blocking?operation?was?interrupted?by?a?call?to?WSACancelBlockingCall. ??
  4. at?org.apache.tomcat.jni.Socket.accept(Native?Method) ??
  5. at?org.apache.tomcat.util.net.AprEndpoint$Acceptor.run(AprEndpoint.java: 1109 ) ??
  6. at?java.lang.Thread.run(Thread.java: 595 ) ??
  7. 2011 - 8 - 2 ? 9 : 03 : 53 ?org.apache.coyote.ajp.AjpAprProtocol?destroy ??
  8. 信息:?Stopping?Coyote?AJP/ 1.3 ?on?ajp- 8009 ??
?

解決:

問題根源 :你下載的 tcnative-1.dll 文件不是 Tomcat 原始使用的那個版本文件


在 $CATALINA_HOME/webapps/docs/apr.html 打開其 官方 Apache Portable Runtime (APR) 文檔 描述,其 APR 包的源碼在 bin/tomcat-native.tar.gz 歸檔文件中。所以,打開該文件就可以知道該 Tomcat native 的版本是多少,然后就到 Tomcat native 下載中心 下載相同版本的 tcnative-1.dll 和 openssl.exe 即可。問題搞定了, 這么簡單!如果版本不一樣,就可能會出現上面這個問題,這就是引起該問題的根源所在。


Ok,就說這么多了!^_^

?

Tomcat性能優化


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人精品日本亚洲麻豆 | 一级毛片在线观看视频 | 久艾草国产成人综合在线视频 | 99在线热播精品免费 | 久久99精品福利久久久 | 日本裤袜xxxx视频 | 成人亚洲欧美综合 | 国产凹凸在线一区二区色老头 | 男人你懂的网站 | 9999热视频 | 免费观看一区二区 | 国产成人综合一区精品 | 久久综合九色综合97欧美 | 网红福利在线 | 美女被羞羞的网站 | 亚洲国产天堂在线mv网站 | 狠狠躁夜夜躁人人爽天天miya | 在线理论视频 | 久久久久亚洲精品一区二区三区 | 四虎影在永久在线观看 | 九九精品久久久久久噜噜 | 天天干天天色天天 | 久久久久久久久久久福利观看 | 国产成人久久久精品一区二区三区 | 成人一级 | 日本亚洲视频 | 大乳欲妇三级一区二区三区 | 免费一级毛片在线播放不收费 | 午夜婷婷| 国产精品久久久久影视青草 | 亚洲精品免费观看 | 亚洲国产精品成人综合色在线婷婷 | 韩国日本一级毛片免费视频 | 高清亚洲 | 天天拍天天射 | 久青草视频 | 99热久久这里只精品国产ww | 美女黄频网站 | 天天操天天插 | 波多野结衣三区 | 波多野结衣久久精品 |