Tomcat 7.0.x性能優化

        Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。java

       是目前的開發焦點。它在汲取了Tomcat 6.0.x優勢的基礎上,實現了對於Servlet 3.0、JSP 2.2和EL 2.2等特性的支持。除此之外的改進列表以下:linux

        · Web應用內存溢出偵測和預防web

        · 加強了管理程序和服務器管理程序的安全性shell

        · 通常 CSRF保護tomcat

        · 支持web應用中的外部內容的直接引用安全

        · 重構 (connectors, lifecycle)及不少核心代碼的全面梳理服務器

1. 配置方法併發

  • 啓動內存參數的配置app

        tomcat/bin/catalina.bat 若是是linux 就是 catalina.shwebapp

        在rem 的後面增長以下參數

        set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m

  • 修改Tomcat的JDK目錄

        打開tomcat/bin/catalina.bat

        在最後一個rem後面增長

        set JAVA_HOME=C:\Program Files\Java\jdk1.8.0

  • 增長虛擬目錄

        /tomcat/conf/server.xml

        第一行是之前默認存在的,第二行是新增的

        <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>

        <Context path="/jsp/a" reloadable="true" docBase="E:\workplace\www.java2000. net\WebContent" />

        使用默認配置的tomcat,另外虛擬目錄也可這設置:

        <Context path="/test" docBase="webContent" reloadable="true"/>

        由於默認狀況下,tomcat啓動過程當中配置虛擬目錄的時候會從 webapps目錄下查找webContent應用。

        這樣配置好了,即便之後從一臺服務器移植到另外一臺服務器,不作任何修改也能運行起來。

  • GET方式URL亂碼問題解決

        打開 tomcat/conf/server.xml

        查找下面這部分,在最後增長一段代碼就能夠了。

        <Connector port="80" maxHttpHeaderSize="8192"

        .................

        URIEncoding="UTF-8" useBodyEncodingForURI="true"

        ...............

        />

        其中的UTF-8 請根據你的須要本身修改,好比GBK

  • 虛擬主機配置文件

        tomcat/conf/server.xml

        <!-- 默認的主機 -->

        <Host name="localhost" appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>

        ...

        </host>

        <!-- 如下是新增的虛擬主機 -->

        <Host name="" appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="d:\" debug="0" reloadable="true"></Context>

        <!-- 虛擬目錄 -->

        <Context path="/count" docBase="d:\counter.java2000. net" debug="0" reloadable="true"></Context>

        </Host>

        <Host name="java2000. net" appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="d:\ " debug="0" reloadable="true"></Context>

        <Context path="/count" docBase="d:\counter.java2000. net" debug="0" reloadable="true"></Context>

        </Host>

2. Tomcat優化

    思路:

        首先要掌握未優化以前,服務器性能現狀; 
        設置虛擬機內存,性能提高明顯; 
        設置tomcat運行模式略微有提升; 
        設置tomcat線程池,通常設置的比較大以避免成爲瓶頸; 
        逐步遞增的性能調試計劃,從較少請求數,較低併發開始逐步遞增。直到性能明顯降低位置; 
        以吞吐率、併發、響應時間等爲關鍵性能指標; 
        區分裸奔性能和分佈式調用的性能; 
        儘可能覆蓋所有代碼運行,服務啓動要爲性能測試作特殊處理(callId,timeStamp); 
        作AB壓力測試,能夠編寫個shell夜間運行並將結果重定向;

實現:

  (1)屏蔽AJP


  (2)啓用NIO或者APR模式運行 


 (3)調整nio的線程池


 (4)調整內存


 (5)啓用APR


 (6)調整線程池

相關文章
相關標籤/搜索