1. 程式人生 > >Tomcat調優實戰

Tomcat調優實戰

使用壓力測試工具JMeter來調優JVM的配置引數:

1、新建一個web工程,用來做被測試的專案

@WebServlet(urlPatterns="/index")

public class InextServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private int count;

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

count ++;

System.out.println(count + ":do get。。。");

}

}

2、開啟jmeter.bat

設定語言

å¾çå·²ç»æå :<

建立執行緒組

å¾çå·²ç»æå :<

設定執行緒引數

å¾çå·²ç»æå :<

配置取樣器http請求

å¾çå·²ç»æå :<

å¾çå·²ç»æå :< 

å¾çå·²ç»æå :< 

儲存執行,檢視結果:

如果大家都是做Web應用的效能測試,例如只有一個登入的請求,那麼在Aggregate Report中,會顯示一行資料,含義分別如下。

Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這裡顯示的就是 Name 屬性的值

#Samples:表示你這次測試中一共發出了多少個請求,如果模擬10個使用者,每個使用者迭代10次,那麼這裡顯示100

Average:平均響應時間——預設情況下是單個 Request 的平均響應時間

Median:中位數,也就是 50% 使用者的響應時間

90% Line:90% 使用者的響應時間

Min:最小響應時間

Max:最大響應時間

Error%:本次測試中出現錯誤的請求的數量/請求的總數

Throughput:吞吐量——預設情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數

KB/Sec:每秒從伺服器端接收到的資料量,相當於LoadRunner中的Throughput/Sec

我們要做的根據這些結果報告和異常資訊,做各種調優測試,不同的機器,不同的程式,對應的jvm配置都是不盡相同的,沒有一個統一的標準,只能一次一次的測試,找到一個比較好的配置方案!

測試比較幾組配置組合:

-Xms50M

-Xmx50M

-Xmn10M

-Xss256k

-XX:+PrintGCDetails

-XX:+UseSerialGC

-Xms1000M

-Xmx1000M

-Xmn600M

-Xss256k

-XX:+PrintGCDetails

-XX:+UseSerialGC

-Xms1000M

-Xmx1000M

-Xmn600M

-Xss256k

-XX:+UseConcMarkSweepGC

-XX:+PrintGCDetails

比較