日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Tomcat生產(chǎn)服務器性能優(yōu)化

介紹

成都創(chuàng)新互聯(lián)公司于2013年開始,先為鄂托克前等服務建站,鄂托克前等地企業(yè),進行企業(yè)商務咨詢服務。為鄂托克前企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

試想以下這個情景:你已經(jīng)開發(fā)好了一個程序,這個程序的排版很不錯,而且有著最前沿的功能和其他一些讓你這程序增添不少色彩的元素??上У氖?,程序的性能不怎么地。你也十分清楚,若現(xiàn)在把這款產(chǎn)品退出市場,肯定會給客戶罵得狗血淋頭。因為不管樣子多么好看,性能才是客戶們最需要的。如果你在軟件實際運行中使用了Tomcat服務器,那么這篇文章將能讓你學到一些能提高Tomcat服務器性能的方法。在此我先得感謝 ITWorld article提供的資源。我仔細地衡量了一下,覺得最新版的Tomcat和之前的版本相比,在性能跟穩(wěn)定性都有所提高,所以大家都去用最新版吧。在這篇文章里分以下的七個步驟,按照這些步驟走,Tomcat服務器的性能就能改善哦。

  1. 增加JVM堆(heap)
  2. 解決內(nèi)存泄漏問題
  3. 線程池(thread pool)的設置
  4. 壓縮
  5. 調(diào)節(jié)數(shù)據(jù)庫性能
  6. Tomcat原生庫(native library)
  7. 其他選項

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

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

 
 
 
  1. JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
  2. -server -Xms1024m -Xmx1024m  
  3. -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m  
  4. -XX:MaxPermSize=512m -XX:+DisableExplicitGC" 

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

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

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

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

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

 
 
 
  1.  

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

第三步 – 線程池設置

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

 
 
 
  1. maxThreads="250" maxHttpHeaderSize="8192" 
  2. emptySessionPath="true" protocol="HTTP/1.1" 
  3. enableLookups="false" redirectPort="8181" acceptCount="100" 
  4. connectionTimeout="20000" disableUploadTimeout="true" /> 

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

 
 
 
  1. org.apache.tomcat.util.threads.ThreadPool logFull SEVERE: All threads (250) are  
  2. currently busy, waiting. Increase maxThreads (250) or check the servlet status 

如果應用提示上述錯誤,務必檢查上述錯誤是否是由于單個請求花費太長時間造成的,這個問題的原因是這樣的,有時候如果數(shù)據(jù)庫連接不釋放的話,進程將不會處理其它請求。

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

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

第4步- 壓縮

Tomcat有一個通過在server.xml配置文件中設置壓縮的選項。壓縮可以在connector像如下設置中完成,

 
 
 
  1. connectionTimeout="20000" 
  2. redirectPort="8181" compression="500" 
  3. compressableMimeType="text/html,text/xml,text/plain,application/octet-stream" />  

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

Tomcat性能在等待數(shù)據(jù)庫查詢被執(zhí)行期間會降低。如今大多數(shù)應用程序都是使用可能包含“命名查詢”的關系型數(shù)據(jù)庫。如果是那樣的話,Tomcat會在啟動時默認加載命名查詢,這個可能會提升性能。另一件重要事是確保所有數(shù)據(jù)庫連接正確地關閉。給數(shù)據(jù)庫連接池設置正確值也是十分重要的。我所說的值是指 Resource要素的最大空閑數(shù)(maxIdle),最大連接數(shù)(maxActive),最大建立連接等待時間(maxWait)屬性的值。因為配置依賴與應用要求,我也不能在本文指定正確的值。你可以通過調(diào)用數(shù)據(jù)庫性能測試來找到正確的值。

第6步 – Tomcat原生庫

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

第7步 – 其他選項

這些選項是:

  • 開啟瀏覽器的緩存,這樣讀取存放在webapps文件夾里的靜態(tài)內(nèi)容會更快,大大推動整體性能。
  • 每當開機時,Tomcat服務器應當自動地重啟。
  • 一般情況下HTTPS請求會比HTTP請求慢。如果你想要更好的安全性,即使慢一點我們還是要選擇HTTPS。

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

英文原文:Tomcat Production Server – Performance Tuning

譯文鏈接:http://www.oschina.net/translate/tomcat-performance-tuning


網(wǎng)站題目:Tomcat生產(chǎn)服務器性能優(yōu)化
瀏覽路徑:http://www.5511xx.com/article/cdgjshp.html