記錄一下效能測試實戰
在網上搜尋效能測試相關資訊,大部分都是工具的使用,指令碼錄製。看了很多但到自己實際壓測的時候,還是不知道怎麼動手,這次開貼 1.為了自己記錄使用 2.想要各路大佬指出壓測步驟中錯誤的地方,讓每個想做壓測的人都有一個案例可以抄襲
1.壓測前景是,最近迭代了一個功能,上級給到指令:進行壓測。此次為第一個坑,大部分公司的產品和主管是不會給你一個目標,只會讓你去壓測,怎麼壓什麼是目標結果是什麼,大家都不清楚。基於這種情況自己來羅列目標:首先我透過以往活動情況在 SLB 上看到併發連擊數 1.6w 左右,在秒殺活動下達到 2.6w。此次目標為 SLB 達到如此連線數下每個壓測場景需要達到 90% 響應時間 2S 以下,ecs 和 rds 記憶體和 cpu 不超過 70%。吞吐量本人沒什麼經驗不知道如何去估計,只能走一步看一半
2.壓測方案,壓測工具是用到 jmeter,壓測場景以頁面為維度,比如進入首頁作為一個場景,那首頁下的 5 個介面都作為一個場景壓測。(這裡我也不清楚是否對錯,希望有大佬看見能夠指點)。再網上了解一臺 4 核 8G 的電腦正常就支援 500 個併發,所以會用到阿里雲上面的壓測工具,這個上面可以支援開多臺機器好達到 1w 起步的併發。(公司由於壓測不是很平凡,所以沒有壓測機器給與壓測,這塊想確認一下:我 slb 到達 2w 是不是一定得讓執行緒數達到這個值)
3.壓測環境搭建:這個由運維人員幫助,搭建了一個壓測環境,這塊不多做描述,對我而言壓測環境方便在,我可以關閉介面的驗籤,然後自己寫了一個任意手機號獲取 token 的介面,方便自己造資料使用。
4.壓測資料準備:會員資料透過準備的測試介面(傳手機號返回 token,如果手機號會員不存在則自動建立會員);活動資料直接透過介面呼叫建立出來。為了避免獲取 token 介面影響真實壓測資料,先寫指令碼把所有 token 取出到 csv 檔案中給後面壓測介面使用
開始壓測,首先本地進行壓測,壓測活動主頁場景包含,活動資訊查詢,子活動列表查詢,使用者活動參與資訊介面,訂閱訊息模板。本地執行緒 700 持續 2 分鐘:壓測結果:SLB 達到 700 連線數,吞吐量總體 200,響應時間 95% 為 12s,異常無。壓測結果感人檢視了一下,資料庫壓力直接 100%,應該是這個地方導致,檢視了一下索引什麼都已經加過了,目前還沒有解決方案。等待後續
好訊息,找到一個地方沒走索引,先加上試試
無敵;加完之後吞吐量達到 1200,之前每個 sql 都要全表掃描 5w 條資料,改完直接一條。感謝索引
相關文章
- Jmeter效能測試實戰JMeter
- 《JMeter實戰》第二章 效能測試初體驗 摘錄JMeter
- MariaDB刪除重複記錄效能測試
- rust 語言試一下,記錄一下Rust
- JMeter實戰-全棧效能測試第3、4章讀書筆記JMeter全棧筆記
- 實戰篇:如何做好SOAP介面效能測試?
- 實戰Redis序列化效能測試(Kryo和字串)Redis字串
- 記錄一次較為完整伺服器效能測試伺服器
- 單元測試 - 測試場景記錄
- 記錄一下
- Locust效能測試實踐
- 效能測試的實施
- 記錄一次測開面試題記錄面試題
- MySQL 優化實戰記錄MySql優化
- 2024.4 記錄一下。。。
- 2024.7 記錄一下。
- 效能測試學習篇:Jmeter進階實錄——手把手教你實現指令碼錄製JMeter指令碼
- > 測試一下
- 【基礎】效能測試,從0到實戰(手把手教,非常實用)
- 介面測試框架接入效能測試實踐分享框架
- 軟體測試專案實戰之功能測試 千鋒實戰教程
- 介面測試返回結構對比實現思路記錄
- 一個 Golang 專案的測試實踐全記錄Golang
- 滲透測試學習記錄
- 記一次CVE實戰挖掘記錄
- iOS – RxSwift 專案實戰記錄iOSSwift
- 美化完成記錄一下
- React單元測試實戰React
- TestComplete資料驅動測試教程(三)——修改記錄測試
- 效能測試
- (效能測試)--記錄一次高可用場景導致CPU資源升高
- Cmocka 單元測試日誌記錄Mock
- FCoE測試重啟除錯記錄除錯
- mysql ,tidb sysbench 測試結果記錄MySqlTiDB
- Jmeter介面測試+效能測試JMeter
- TestComplete資料驅動測試教程(二)——記錄測試資料
- WebView與APP互動實戰記錄WebViewAPP
- H5 前端效能測試實踐H5前端