jmeter性能測試總結

1、性能測試問題記錄:html

Ⅰ、秒殺的失敗率了在96.45%,緣由 Query對於 活動的秒殺採用的是0.5秒,刷新緩存的策略在活動中優惠券被秒殺一空redis

下架前,短暫的時間內仍可以查詢到 這個活動架構中採用了CQRS模式只保證了最終結果一致性,並不能保證明時一致性。shell

Ⅱ、日誌級別爲Info,致使CPU很大一部分的是用來處理日誌相關的功能,數據庫

Ⅲ、異步輸出日誌能比同步輸出的方式下,提高了接近100%的吞吐量瀏覽器

Ⅳ、代碼中存在大量數據庫鏈接使用未關閉的狀況,致使後續事務沒法獲取數據庫鏈接緩存

Ⅴ、logstach配置錯誤,致使redis數據沒法及時導出,2G存儲量很快被佔滿報錯服務器

Ⅵ、MQ隊列使用錯誤,爲每次事務單獨創建了隊列,且這些隊列沒法自動清除架構

Ⅶ、網關配置有誤,致使限流發生;對接ERP方式代碼有誤;數據庫配置錯誤,致使性能緩慢運維

Ⅷ、數據庫出現死鎖異步

Ⅸ、QPT(請求數)增長↑,TPS(吞吐量)沒有上去,是由於當時服務器能處理就這麼多

Ⅹ、服務器的配置確實偏弱,1核8G,須要同時跑網關、外賣等多服務,且此時並未分多節點部署

 

2、jmeter使用技巧點記錄:

一、因爲變量 沒法在不一樣的線程組中共享和傳遞,這時候 Beanshell postprocess組件就排上用場了,它的做用將當前線程組中目標變量轉換爲全局變量

二、jmeter集合點:經過添加定時器來完成,只能做用於JVM中 

三、硬件服務器不足時,可採用Jmeter的分佈式集羣,遠程啓動測試

四、性能測試數據,除了.cvs、txt等通常模擬數據外,還可使用 脫敏後的線上數據

 

3、性能測試經驗小結:

一、性能測試通常都是須要進行多輪測試,所以,性能調優是一個循環過程

二、代碼質量過關,性能測試就只是走個過場

三、性能測試可能找出開發編碼不合理,同時也能 幫助運維找出更合適的系統應用部署方案

四、在性能測試過程當中,系統架構圖做用就很明顯了,在日誌報錯信息不明確狀況下,能夠查看每部分的監控信息,

查出報錯緣由,若是沒有架構圖,則只能東一榔錘西一棒頭,效率很低。

 五、log4j2的吞吐量相對於log4j1而言大幅提升了約40%,內存使用量也更少了。所以,推薦使用性能更佳的log4j2替換掉陳舊的log4j1。

4、性能需求指標項和指標值二八原則:

eg:,每日派件量1000W,按照2:8原則推算:

  (1000W*80%)、(8*3600*20%)=1388.8,取整爲1389筆/每秒

  每一年按照業務量增加50計算,一年後系統處理能力指標約等於:1389*(1+50%)=2083.3,取整爲2084筆/每秒

  按照穩定性交易量推導:取系統處理能力的80%計算:

  80%*2084*8*3600=36011520≈3601W筆/天

 

 

5、性能工具引入:

一、Jmeter:用於進行負載和壓力測試

二、jProfiler:用於進行性能測試分析

三、nmon:用於監控系統負載

四、zabbix:用於監控服務器硬件信息

五、pinpiont:分佈式系統監控工具

六、Jmeter的PerfMon插件

七、固然也能夠用雲智慧的監控寶和透視寶協同工做,監控寶能夠監控網站/網頁性能/Ping/DNS/FTP/UDP/TCP/SMTP等IT基礎設施的性能指標,透視寶能夠發現主機資源、Web應用、瀏覽器、APP等應用的性能瓶頸,

監控寶監控頁面:

6、性能實施流程:

一、性能測試流程分爲五個階段,分別是【需求調研階段】→【測試準備階段】→【測試執行階段】→【測試報告階段】→【測試總結階段】。

二、性能需求提供者:通常爲產品人員/業務方/研發人員

需求調研:需求調研工做由性能測試實施人員牽頭負責,產品經理、開發工程師、運維工程師配合完成;

需求調研的主要內容爲:系統線上環境的性能需求,例如性能需求、可靠性需求、可維護性需求等;

相關文章
相關標籤/搜索