Tomcat性能調優

1、簡介

1. 1  Tomcat 是什麼?

  tomcat是市場比較流行的WEB中間件 ,tomcat是配合Java運行而生容器;javascript

1.2  Apache 和tomcate的區別

  1.  Apache屬於web服務器,Tomcat 屬於java服務器
  2.  Tomcat 是用來運行java程序的。Apache沒法運行java程序
  3.   兩者可單獨使用,也可配合使用。Tomcat 處理java服務,Apache 處理偏靜態服務;

2、監控

2.1 自帶的Server Status監控

  

  1.  tomcat 自帶監控Server Status以下圖:

  

  2.初始化的tomcat是進不了 Server Status;須要修改配置文件css

  3.tomcat配置文件 都在conf目錄裏面 如圖 找到 tomcat-users.xmlhtml

  <role rolename="manager-gui"/>java

  <user username="admin" password="123123" roles="manager-gui"/>web

  

  

  4.配置完後 訪問 點擊頁面的 Server Status ,在彈框中輸入你配置的用戶名和密碼(admin/123123)apache

 

   

  5.進去監控畫面瀏覽器

  注:1)Server Status監控界面分jvm顯示區域  /ajp-bio-8009 顯示區域 / http-nio-8080顯示區域;tomcat

    2)JVM區域參數含義之後JVM篇在集中說明;服務器

    3)apache與tomcat的連接方式分兩種不同的方式有不同的性能 默認是bio的形式app

  6.監控中的參數說明:

  Max threads :最大線程數
  Current thread count:當前線程數
  Current thread busy:當前正在運行的線程/正在處理的線程

  Max processing time: 246 ms 單個請求最大處理時間 單位毫秒
  Processing time: 總處理時間
  Request count: 有多少次請求
  Error count: 多少失敗的

  Bytes received: 接受到的數據量
  Bytes sent: 發送出去的數據量

2.2 利用LoadRunner進行打點監控 --不多用

  待我親自實驗好了往後補上

3、參數調優

3.1參數配置調優

  注:全部的參數調優都在這個文件 /conf/server.xml 基本上的參數調優都在 -- <Connector port="8080" protocol  這個標籤裏面;以下圖

3.1.1 連接方式優化 默認方式的連接方式性能很低
  將Connector port="8080" protocol="HTTP/1.1"
  中的protocol值改爲 "org.apache.coyote.http11.Http11Protocol" --org.apache.coyote.http11.Http11NioProtocol
  效果如圖:

3.1.2 URIEncoding="UTF-8"這個參數和性能無關;

  這個配置解決tomcat的健壯性,能夠幫助tomcat解析含有中文的url

3.1.3 minSpareThreads="25" 這個參數含義:啓動tomcat初始化的線程數;

  注:tomcat裏面沒有 maxSpareThreads這個參數;

3.1.4 enableLookups="false" 這個參數含義是 是否進行域名反查詢;

  通常狀況下是不須要進行域名反查詢的;由於進行域名反查詢耗費必定的時間,及影響性能;

3.1.5 useURIValidationHack="false" 這個參數含義:對URL是否進行規範性的檢查;

  大流量話作檢查會影響性能,建議爲false;

3.1.6 connectionTimeout="20000" 連接的超時時間,這單位是ms;

  調節按流量大小調 參考值30000

3.1.7 maxThreads="50" 表明服務器最大請求數量 默認是200;(最重要的調優參數)

  流量高的須要調大,不能過高,也不能過低;調節能夠根據監控的值來調節
  Max threads: 200 Current thread count: 10 Current thread busy: 

3.1.8 acceptCount="300" 能夠理解爲 隊列; 默認是100 ;(最重要的調優參數)

  a.當請求達到acceptCount這個值 ,就會報‘拒絕連接’

  b.當請求數在 大於 maxThreads 小於 acceptCount ,請求會在acceptCount裏面。

3.1.9 壓縮調優 (如下參數是成隊出現的)
  compression="on"                                    打開壓縮
  compressionMinSize="2048"                             小於2048的不壓縮
  noCompressionUserAgents="gozilla,traviata"                      對於哪些瀏覽器不進行壓縮
  compressableMimeType="text/html,text/xml,text/css,text/plain,application/javascript"    支持壓縮的文件類型

 3.2 JVM調優 

   JVM調優內容較多往後單獨說明

4、tomcat優化方向(非自身參數配置)

  4.1 硬件配置 ...須要大內存,由於Java程序吃內存

  4.2 選擇 合適的jdk版本

  4.3 作負載均衡

 

 

 

 

 

@版權全部禁止非法轉載!!!!!

相關文章
相關標籤/搜索