一場為企業服務開發的效能測試報告

浩瀚動酷發表於2019-03-01

引言

編寫目的

本測試報告,在效能測試結束階段,對測試結果進行分析,並給出結論。

術語定義

1、事務平均響應時間 (Average Transaciton Response Time)

“事務平均響應時間”顯示的是測試場景執行期間的每一秒內事務執行所用的平均時間,通過它可以分析測試場景執行期間應用系統的效能走向。

2、每秒通過事務數/TPS (Transactions per Second)

“每秒通過事務數/TPS”顯示在場景執行的每一秒鐘,每個事務通過、失敗以及停止的數量,使考查系統效能的一個重要引數。通過它可以確定系統在任何給定時刻的時間事務負載。分析TPS主要是看曲線的效能走向,將它與平均事務響應時間進行對比,可以分析事務數目對執行時間的影響。

3、併發使用者數 (Vuser)

“併發使用者數量”,在同一時刻與伺服器進行互動的線上使用者數量。這些使用者的最大特徵是和伺服器發生了互動。

預期讀者

本文件閱讀物件一般為專案經理、測試經理、研發經理,技術老鳥等。

測試目的

本報告是為了反映中介軟體各個場景下在多使用者併發訪問的情況下系統的表現情況.

本次測試從事務響應時間、併發使用者數、系統資源使用等多個方面,以專業的效能測試工具,分析出當前系統的效能表現,以實際測試資料與預期的效能要求比較,檢查系統是否達到既定的效能目標。

環境配置

伺服器:

描述

OS

臺數

CPU

Mem

IP

應用伺服器

Linux

2

4核

4G

10.126.3.59

10.126.3.61

Nginx

Linux

1

12核

6G

10.126.3.63

Node伺服器

Linux

1

4核

4G

10.126.3.59:1337

壓力機

windows

2

8核

4G

10.126.3.58

10.126.3.62

應用配置:

配置物件

引數

配置

說明

Tomcat

/context.xml

sticky

true

粘性Session機制

lockingMode

auto

非粘性Session的鎖定策略

sessionBackupAsync

false

是否應該被非同步儲存到Memcached

operationTimeout

5000毫秒

sessionBackupTimeout

5000毫秒

備份Session超時時間

Tomcat

/ server.xml

maxThreads

500

執行緒池最大執行緒數

minSpareThreads

5

acceptCount

1000

排隊長度

keepAliveTimeout

20000

web.xml

session-timeout

30分

日誌級別

level value

error

判斷日誌記錄與否

JVM

最小堆記憶體

2000M

最大堆記憶體

2000M

最大永久代MaxPermSize

256m

GC策略

預設

其他

-XX:-HeapDumpOnOutOfMemoryError

LR配置(true表示選中,false表示不選中):

配置物件

引數

配置

說明

ignore think time

true

忽略思考時間

download non-HTML resources

true

下載圖片

continue on error

true

錯誤時仍然繼續

run user as thread

true

執行使用執行緒方式

simulate a new user on each iteration

true

每次迭代清除http上下文

Tomcat

結果資料

單個節點

HTML

併發使用者數

10

20

50

100

每秒通過事務數TPS

19305

32584

44195

40566

平均響應時間

0

0.001

0.001

0.002

JSP

併發使用者數

10

20

50

100

每秒通過事務數TPS

19745

27982

33233

32576

平均響應時間

0

0.001

0.001

0.002

Serverlet

併發使用者數

10

20

50

100

每秒通過事務數TPS

19305

28591

32460

34249

平均響應時間

0

0.001

0.001

0.002

一場為企業服務開發的效能測試報告

問題及結果分析

隨著併發使用者數的增加,TPS值在隨之呈增長趨勢。

此應用沒有使用資料庫,應用和壓力機記憶體使用正常,資源使用正常,均不構成系統的瓶頸。

Nginx+Tomcat

結果資料

單個節點

HTML

併發使用者數

10

20

50

100

每秒通過事務數TPS

13252

21481

31044

34275

平均響應時間

0.001

0.002

0.004

0.008

JSP

併發使用者數

10

20

50

100

每秒通過事務數TPS

12267

19230

25603

30903

平均響應時間

0.001

0.002

0.004

0.008

Serverlet

併發使用者數

10

20

50

100

每秒通過事務數TPS

12007

19610

25135

29242

平均響應時間

0.001

0.002

0.004

0.008

一場為企業服務開發的效能測試報告

兩個節點

HTML

併發使用者數

10*2

20*2

50*2

100*2

每秒通過事務數TPS

22160

33492

45619

41595

平均響應時間

0.001

0.002

0.004

0.008

JSP

併發使用者數

10*2

20*2

50*2

100*2

每秒通過事務數TPS

20071

31514

39274

36363

平均響應時間

0.001

0.002

0.004

0.008

Serverlet

併發使用者數

10*2

20*2

50*2

100*2

每秒通過事務數TPS

20050

32584

39195

40566

平均響應時間

0.001

0.002

0.004

0.008

一場為企業服務開發的效能測試報告

一場為企業服務開發的效能測試報告一場為企業服務開發的效能測試報告一場為企業服務開發的效能測試報告一場為企業服務開發的效能測試報告

問題及結果分析

從單節點來看,HTML,JSP, Serverlet結果走勢相近,增加Nginx後會存在一定的效能損耗,負載均衡增加一個Tomcat節點,與單節點進行比較,TPS結果Serverlet約為1.7倍的增長,HTML約為1.6倍的增長,JSP約為1.6倍的增長。導致相同場景Nginx+2個Tomcat的TPS比單個節點的Tomcat的TPS沒有2倍左右的增長的原因,系統的瓶頸是壓力機的磁碟IO過大,提升系統效能的方式,可以增加不在同一塊硬碟上的壓力機,減少在單個壓力機上的磁碟IO寫入情況而提高效能。應用程式沒有用到資料庫,應用伺服器的資源使用正常,均不構成系統的瓶頸。

Node

結果資料

單個節點

Node 直接啟動 node server1.js +文字頁面

併發使用者數

10

20

50

100

每秒通過事務數TPS

13010

15317

14123

15373

平均響應時間

0

0.001

0.001

0.002

Node pm2啟動 1個節點

併發使用者數

10

20

50

100

每秒通過事務數TPS

13660

15097

15133

15540

平均響應時間

0

0.001

0.001

0.002

Node pm2啟動 4個節點

併發使用者數

10

20

50

100

每秒通過事務數TPS

17597

28405

38392

41549

平均響應時間

0

0.001

0.001

0.002

一場為企業服務開發的效能測試報告

問題及結果分析

Node 直接啟動與pm2啟動差異不大,Node啟動4個節點TPS高於單個節點2.7倍。

此應用沒有使用資料庫,應用和壓力機記憶體使用正常,資源使用正常,均不構成系統的瓶頸。

Node+Tomcat

結果資料

單個節點

HTML

併發使用者數

10

20

50

100

每秒通過事務數TPS

8480

11856

11437

11339

平均響應時間

0.001

0.002

0.004

0.008

JSP

併發使用者數

10

20

50

100

每秒通過事務數TPS

8214

11264

11514

11269

平均響應時間

0.001

0.002

0.004

0.008

Serverlet

併發使用者數

10

20

50

100

每秒通過事務數TPS

5422

7878

8926

9013

平均響應時間

0.001

0.002

0.004

0.008

一場為企業服務開發的效能測試報告

問題及結果分析

從單節點來看,HTML,JSP, Serverlet結果走勢相近,

此應用沒有使用資料庫,應用和壓力機記憶體使用正常,資源使用正常,均不構成系統的瓶頸

Node+Nginx+ Tomcat

結果資料

單個節點

HTML

併發使用者數

10

20

50

100

每秒通過事務數TPS

7235

9563

9969

10254

平均響應時間

0.001

0.002

0.004

0.008

JSP

併發使用者數

10

20

50

100

每秒通過事務數TPS

5736

8030

8384

9050

平均響應時間

0.001

0.002

0.004

0.008

Serverlet

併發使用者數

10

20

50

100

每秒通過事務數TPS

6028

8570

9141

8763

平均響應時間

0.001

0.002

0.004

0.008

一場為企業服務開發的效能測試報告

2個Tomcat節點

HTML

併發使用者數

10*2

20*2

50*2

100*2

每秒通過事務數TPS

9494

10988

11679

11280

平均響應時間

0.002

0.003

0.008

0.015

JSP

併發使用者數

10*2

20*2

50*2

100*2

每秒通過事務數TPS

8995

9251

10134

10551

平均響應時間

0.002

0.003

0.008

0.015

Serverlet

併發使用者數

10*2

20*2

50*2

100*2

每秒通過事務數TPS

9080

9741

10186

10208

平均響應時間

0.002

0.003

0.007

0.015

一場為企業服務開發的效能測試報告一場為企業服務開發的效能測試報告一場為企業服務開發的效能測試報告

一場為企業服務開發的效能測試報告

問題及結果分析

從單節點來看,HTML,JSP, Serverlet結果走勢相近,增加Nginx,Node後會存在一定的效能損耗,負載均衡增加一個Tomcat節點,TPS沒有呈2倍增長。系統的瓶頸是壓力機的磁碟IO過大,提升系統效能的方式,可以增加壓力機的方式,增加不在同一塊硬碟上的壓力機,減少在單個壓力機上的磁碟IO寫入情況而提高效能。

縱向比較資料

一場為企業服務開發的效能測試報告

一場為企業服務開發的效能測試報告

一場為企業服務開發的效能測試報告

測試結論

隨著系統架構的變化TPS逐層下降,每增加一層Nginx或者Node都存在一定的效能損耗, 系統的瓶頸是壓力機的磁碟IO過大,提升系統效能的方式,可以增加不在同一塊硬碟上的壓力機,減少在單個壓力機上的磁碟IO寫入情況而提高效能。

此次中介軟體架構測試為今後其他專案測試提供參考資料比對

TIPS

文章開源我的部落格:地址(轉載請說明出去)

個人最新全棧架構體系:Creek-dam-nova (歡迎大家star)

相關文章