Java編程——Tomcat基本概念及常用調優方式

Java編程——Tomcat基本概念及常用調優方式

Tomcat是什麼

開源的 Java Web 應用服務器,實現了 Java EE(Java Platform Enterprise Edition)的部 分技術規範,比如 Java Servlet、Java Server Page、JSTL、Java WebSocket。Java EE 是 Sun 公 司為企業級應用推出的標準平臺,定義了一系列用於企業級開發的技術規範,除了上述的之外,還有 EJB、Java Mail、JPA、JTA、JMS 等,而這些都依賴具體容器的實現

Java編程——Tomcat基本概念及常用調優方式

上圖對比了 Java EE 容器的實現情況,Tomcat 和 Jetty 都只提供了 Java Web 容器必需的 Servlet 和 JSP 規範,開發者要想實現其他的功能,需要自己依賴其他開源實現。

Glassfish 是由 sun 公司推出,Java EE 最新規範出來之後,首先會在 Glassfish 上進行實 現,所以是研究 Java EE 最新技術的首選。

最常見的情況是使用 Tomcat 作為 Java Web 服務器,使用 Spring 提供的開箱即用的強大 的功能,並依賴其他開源庫來完成負責的業務功能實現


常用調優方式1 : 修改…/bin/catalina.sh(啟動時優化)

Windows下為catalina.bat

  • 添加參數:

export JAVA_OPTS=”-server”

  • 作用:tomcat默認以java –client方式運行, 添加”server”參數將tomcat切換為生產模式,使得tomcat能支持更高的併發數和吞吐量.
  • 測試結果:
  • 修改前:
Java編程——Tomcat基本概念及常用調優方式


Java編程——Tomcat基本概念及常用調優方式


  • 修改後:
Java編程——Tomcat基本概念及常用調優方式


Java編程——Tomcat基本概念及常用調優方式

總結:

最大併發數和吞吐量有明顯的提升.


常用調優方式2:

添加參數:

export JAVA_OPTS=”-server -Xms256M -Xmx256M”

  • 作用:Xms參數表示初始堆的大小,也是堆大小的最小值,默認值是總共的物理內存1/64, 且小於1G(下面是-Xmx同), Xmx參數表示堆的最大值.在本機中這個參數的值大約為128m.這裡將其擴大一倍.正常情況下應當將這個參數的數值設置為相同.還有另外一些參數,如Xss,表示每個線程的棧內存,默認為1M,但經過查閱資料表明這些參數一般情況下不需要改動.即增加堆內存是提高tomcat內存性能最好最安全的做法.
  • 測試結果:
Java編程——Tomcat基本概念及常用調優方式


Java編程——Tomcat基本概念及常用調優方式

總結:

對比上個參數,可以明顯看到併發請求的平均值,中值都有2-3倍的提升,最大值和吞吐率出現了下降.個人猜測吞吐率的下降是因為在吞吐量一定的情況下,每秒併發數的提高拉低了該數值.併發最大值的降低,平均值的升高表明在此配置下系統的處理能力已經有了提高,並且穩定性也得到提升.

Java編程——Tomcat基本概念及常用調優方式


分享到:


相關文章: