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

Tomcat 生產(chǎn)服務(wù)器性能優(yōu)化

系統(tǒng) 2792 0

?

  1. 增加JVM堆(heap)

  2. 解決內(nèi)存泄漏問(wèn)題

  3. 線程池(thread pool)的設(shè)置

  4. 壓縮

  5. 調(diào)節(jié)數(shù)據(jù)庫(kù)性能

  6. Tomcat原生庫(kù)(native library)

  7. 其他選項(xiàng)

第一步? –?提高JVM棧內(nèi)存Increase JVM heap memory

  你使用過(guò)tomcat的話,簡(jiǎn)單的說(shuō)就是“內(nèi)存溢出”.?通常情況下,這種問(wèn)題出現(xiàn)在實(shí)際的生產(chǎn)環(huán)境中.產(chǎn)生這種問(wèn)題的原因是tomcat使用較少的內(nèi)存給進(jìn)程,通過(guò)配置TOmcat的配置文件(Windows?下的catalina.bat或Linux下的catalina.sh)可以解決這種問(wèn)題.這種解決方法是通過(guò)增加JVM的棧內(nèi)存實(shí)現(xiàn)的.也就是說(shuō),JVM通常不去調(diào)用垃圾回收器,所以服務(wù)器可以更多關(guān)注處理web請(qǐng)求,并要求盡快完成。要更改文件(catalina.sh) 位于"\tomcat server folder\bin\catalina.sh",下面,給出這個(gè)文件的配置信息,

      
        JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8

   

-server -Xms1024m -Xmx1024m

   

-XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m

   

-XX:MaxPermSize=512m -XX:+DisableExplicitGC"
      
    

  -Xms – 指定初始化時(shí)化的棧內(nèi)存

  -Xmx –?指定最大棧內(nèi)存

  在重啟你的Tomcat服務(wù)器之后,這些配置的更改才會(huì)有效。下面將介紹如何處理JRE內(nèi)存泄漏.

第二步 - 解決JRE內(nèi)存泄漏

  另一個(gè)影響Tomcat 性能的因素是內(nèi)存泄露,就像我前面提及的,可以通過(guò)更新到最新版本的Tomcat來(lái)獲得較好性能和可擴(kuò)展性.現(xiàn)在這句話將成為事實(shí)。如果我們使用最新的 tomcat 服務(wù)器版本 6.0.26? 或更高版本,可以解決此類錯(cuò)誤。因?yàn)樗粋€(gè)監(jiān)聽器來(lái)處理 JRE 和 permgen 內(nèi)存泄漏。這里使用的監(jiān)聽器

      
        <
      
      
        Listener 
      
      
        className
      
      
        ="org.apache.catalina.core.JreMemoryLeakPreventionListener"
      
      
        />
      
    

你可以找到上述監(jiān)聽器類配置文件 server.xml 在"tomcat project folder/conf/server.xml"中的。下一步我們將介紹如何調(diào)整連接器屬性"maxThreads"

第三步 – 線程池設(shè)置

  線程池指定Web請(qǐng)求負(fù)載的數(shù)量,因此,為獲得更好的性能這部分應(yīng)小心處理。可以通過(guò)調(diào)整連接器屬性“maxThreads”完成設(shè)置。maxThreads的值應(yīng)該根據(jù)流量的大小,如果值過(guò)低,將有沒有足夠的線程來(lái)處理所有的請(qǐng)求,請(qǐng)求將進(jìn)入等待狀態(tài),只有當(dāng)一個(gè)的處理線程釋放后才被處理;如果設(shè)置的太大,Tomcat的啟動(dòng)將花費(fèi)更多時(shí)間。因此它取決于我們給maxThreads設(shè)置一個(gè)正確的值。

?

      
        <
      
      
        Connector 
      
      
        port
      
      
        ="8080"
      
      
         address
      
      
        ="localhost"
      
      
        

  

maxThreads
      
      
        ="250"
      
      
         maxHttpHeaderSize
      
      
        ="8192"
      
      
        

  

emptySessionPath
      
      
        ="true"
      
      
         protocol
      
      
        ="HTTP/1.1"
      
      
        

  

enableLookups
      
      
        ="false"
      
      
         redirectPort
      
      
        ="8181"
      
      
         acceptCount
      
      
        ="100"
      
      
        

  

connectionTimeout
      
      
        ="20000"
      
      
         disableUploadTimeout
      
      
        ="true"
      
      
        />
      
    

在上述配置中,maxThreads值設(shè)定為“250”,這指定可以由服務(wù)器處理的并發(fā)請(qǐng)求的最大數(shù)量。如果沒有指定,這個(gè)屬性的默認(rèn)值為“200”。任何多出的并發(fā)請(qǐng)求將收到“拒絕連接”的錯(cuò)誤提示,直到另一個(gè)處理請(qǐng)求進(jìn)程被釋放。錯(cuò)誤看起來(lái)如下

      
        org.apache.tomcat.util.threads.ThreadPool logFull SEVERE: All threads (250) are





currently busy, waiting. Increase maxThreads (250) or check the servlet status
      
    

 如果應(yīng)用提示上述錯(cuò)誤,務(wù)必檢查上述錯(cuò)誤是否是由于單個(gè)請(qǐng)求花費(fèi)太長(zhǎng)時(shí)間造成的,這個(gè)問(wèn)題的原因是這樣的,有時(shí)候如果數(shù)據(jù)庫(kù)連接不釋放的話,進(jìn)程將不會(huì)處理其它請(qǐng)求。

  注意: 如果請(qǐng)求的數(shù)量超過(guò)了“750”,這將不是意味著將maxThreads屬性值設(shè)置為“750”,它意外著最好使用“Tomcat集群”的多個(gè)實(shí)例。也就是說(shuō),如果有“1000”請(qǐng)求,兩個(gè)Tomcat實(shí)例設(shè)置“maxThreads= 500”,而不在單Tomcat實(shí)例的情況下設(shè)置maxThreads=1000。

  根據(jù)我的經(jīng)驗(yàn),準(zhǔn)確值的設(shè)定可以通過(guò)將應(yīng)用在在各種環(huán)境中測(cè)試得出。接下來(lái),我們來(lái)看看如何壓縮的MIME類型。

第四步- 壓縮

  Tomcat有一個(gè)通過(guò)在server.xml配置文件中設(shè)置壓縮的選項(xiàng)。壓縮可以在connector像如下設(shè)置中完成

? ? ??

      
        <
      
      
        Connector 
      
      
        port
      
      
        ="8080"
      
      
         protocol
      
      
        ="HTTP/1.1"
      
      
        

  

connectionTimeout
      
      
        ="20000"
      
      
        

  

redirectPort
      
      
        ="8181"
      
      
         compression
      
      
        ="500"
      
      
        

  

compressableMimeType
      
      
        ="text/html,text/xml,text/plain,application/octet-stream"
      
      
        />
      
    

 在前面的配置中,當(dāng)文件的大小大于等于500bytes時(shí)才會(huì)壓縮。如果當(dāng)文件達(dá)到了大小但是卻沒有被壓縮,那么設(shè)置屬性compression="on"。否則Tomcat默認(rèn)設(shè)置是“off”。接下來(lái)我們將看看如何調(diào)優(yōu)數(shù)據(jù)庫(kù)。

第五步- 數(shù)據(jù)庫(kù)性能調(diào)優(yōu)

  Tomcat性能在等待數(shù)據(jù)庫(kù)查詢被執(zhí)行期間會(huì)降低。如今大多數(shù)應(yīng)用程序都是使用可能包含“命名查詢”的關(guān)系型數(shù)據(jù)庫(kù)。如果是那樣的話,Tomcat會(huì)在啟動(dòng)時(shí)默認(rèn)加載命名查詢,這個(gè)可能會(huì)提升性能。另一件重要事是確保所有數(shù)據(jù)庫(kù)連接正確地關(guān)閉。給數(shù)據(jù)庫(kù)連接池設(shè)置正確值也是十分重要的。我所說(shuō)的值是指Resource要素的最大空閑數(shù)(maxIdle),最大連接數(shù)(maxActive),最大建立連接等待時(shí)間(maxWait)屬性的值。因?yàn)榕渲靡蕾嚺c應(yīng)用要求,我也不能在本文指定正確的值。你可以通過(guò)調(diào)用數(shù)據(jù)庫(kù)性能測(cè)試來(lái)找到正確的值。

第六步 – Tomcat原生庫(kù)

  Tomcat的原生庫(kù)基于Apache可移植運(yùn)行時(shí)(Apache Portable Runtime簡(jiǎn)稱APR),給程序員提供了超強(qiáng)的擴(kuò)展性和性能,在產(chǎn)品運(yùn)作中幫助融合原生的服務(wù)器技術(shù)以展現(xiàn)最佳的性能。想知道安裝說(shuō)明的朋友請(qǐng)參考 Tomcat Native Library – (APR) Installation

第七步 – 其他選項(xiàng)

  這些選項(xiàng)是:

  • 開啟瀏覽器的緩存,這樣讀取存放在webapps文件夾里的靜態(tài)內(nèi)容會(huì)更快,大大推動(dòng)整體性能。

  • 每當(dāng)開機(jī)時(shí),Tomcat服務(wù)器應(yīng)當(dāng)自動(dòng)地重啟。

  • 一般情況下HTTPS請(qǐng)求會(huì)比HTTP請(qǐng)求慢。如果你想要更好的安全性,即使慢一點(diǎn)我們還是要選擇HTTPS。

  就這么多啦。在這篇文章里,我教給了大家一些提高Tomcat服務(wù)器性能的方法。如果你覺得這篇文章有用,或者你對(duì)提高Tomcat服務(wù)器性能有別的看法,請(qǐng)不要忘記留下寶貴的評(píng)論。祝你今天編程愉快!

  原文地址: http://www.techbrainwave.com/?p=836

?

Tomcat 生產(chǎn)服務(wù)器性能優(yōu)化


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲综合精品成人 | 在线不卡一区 | 99久久国产综合精品网成人影院 | 91精品啪在线观看国产老湿机 | 亚洲综合色色图 | 夜夜骑狠狠干 | 日韩色在线 | 99re热在线观看 | 国模和精品嫩模私拍视频 | 久久老色鬼天天综合网观看 | 91成品视频 | 天天操天天摸天天干 | 欧美性视频在线激情 | 亚洲精品欧美精品一区二区 | 99精品久久99久久久久久 | 亚洲第一欧美 | 伊人情人综合成人久久网小说 | 九九夜夜操妹子 | 色综合合久久天天综合绕视看 | 久久免视频 | 日本免费不卡在线一区二区三区 | 亚洲欧美日韩精品一区 | 国产一区二区高清在线 | 亚洲人成网i8禁止 | 国产精品久久久精品视频 | 国产v片成人影院在线观看 国产v视频 | 国产精品自拍视频 | 国产一级免费 | 欧美xxxxx毛片 | 一级特黄高清完整大片 | 天天干天天舔天天射 | 精品一区二区三区四区 | 欧美激情综合亚洲一二区 | 成人性生活免费看 | 成人看毛片 | 日本不卡高清免费 | 一区二区视频在线观看 | 亚洲视频中文 | 精品久久中文字幕有码 | 97国产成人精品视频 | 国产精品免费福利 |