單接口性能測試


單接口性能需要如何操作?單接口性能需要關注哪些數據?

單接口性能測試方法:

 工具:jmeter

使用Jmeter發起一個HTTP請求,Request為Json格式

1.創建測試計划:右鍵測試計划 -> 添加 -> 線程(用戶) -> 線程組

 

 

 2.右鍵線程組 -> 添加 -> 取樣器 -> HTTP請求

 

 

 3.錄入接口信息:我們使用抓包工具抓取到了博客園的獲取全站動態的接口,以此為例,接口如下

 1 獲取最新10條博客文章
 2 Url: https://home.cnblogs.com/ajax/feed/recent
 3 
 4 HTTP Method: Post
 5 
 6 Request:
 7 {
 8     "feedListType":5,
 9     "appId":"",
10     "pageIndex":1,
11     "groupId":""
12 }

 

 

 4.添加一個HTTP信息頭管理器:這里存放Request Headers,因為jmeter默認的請求數據類型是form的,所以使用json格式的請求數據需要在HTTP信息頭管理器中設置

 1 Content-Type: application/json; charset=UTF-8 

 

 

 

 

 

 5.最后添加一個查看結果樹來查看請求的響應數據

 

 

 6.運行HTTP請求,我們可以看到返回數據就是博客園的最新動態了

 

 

 

Request為Form格式

1 Url: https://data.cma.cn/weatherGis/web/weather/weatherFcst/getCurrentCondition
2 
3 HTTP Method: Post
4 
5 Request:
6 staId: 54511

1.步驟與json格式的基本相同,需要修改的點在於Requset Data的位置 

 

 

 2.因為是form格式請求數據,所以HTTP信息頭管理器中的Content-Type要設置為

 1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 

3.設置完成運行HTTP請求然后查看結果樹就可以看到請求的響應數據了。

原文出處:https://www.cnblogs.com/ezrealli/p/11343866.html

 

單接口性能測試關注點

基本性能測試:

1、QPS;
2、平均響應時間;
3、吞吐率;
4、錯誤率;
5、空結果率;

需要壓測求出極限QPS,然后查找到系統瓶頸,比如你壓測到130個線程,QPS到達1500后不再上升,那么此時就需要查看CPU、磁盤IO、內存、以及網卡流量等查找系統瓶頸在哪里;
如:nlp壓測時結論:hot_new接口shyc2機房最高QPS能達到2300左右,帶寬占用最大在800M左右;根據壓測結果顯示整體性能的瓶頸不受限於CPU和帶寬,據分析可能與網絡IO有關;

 

穩定性測試:

需要選擇cpu達到50%左右時的線程數進行壓測,否則壓測意義不明顯;

1、QPS
2、CPU占有率;
3、磁盤IO波動;
4、內存是否存在泄漏,但存在部分程序比較特殊,xx引擎title人名策略測試:內存一直增加,溝通后得知,此接口的內存是不會釋放的,會一直增加,但增加到一定數值(目前看大概增加到5G后逐漸趨於平穩);
5、網卡流量,分為內網和外網流出進入等;
6、是否有coredump文件產生;
7、數據庫的寫入;

 

單機並發計算

單機pv = pv量/10個機房/機器數
QPS = 單機pv/10h(高峰)*3600

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM