欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    Reversion

    Date

    Author

    Description of change

    0.1

    2022-01-14

    Vicent GAO (高羅)

    初始版本

    1. 高通工具集架構(gòu)

    1) QPM

    1.1) 安裝、卸載升級QXDM

    1.2) 類似與軟件商店,如APP Store

    2) QPST

    2.1) 添加或刪除USB DM口

    2.2) QXDM需要通過USB DM口抓取log

    3) QXDM

    3.1) 選擇USB DM口,點(diǎn)擊Connect

    3.2) 開始抓取log

    2.高通工具的安裝

    安裝順序:

    1. qpst.win.2.7_installer_00496.2.zip,解壓后默認(rèn)安裝即可

    2. QPM.1.0.84.3.Windows-AnyCPU,此為“高通包管理器”

    3. 在QPM里安裝QXDM

    3. 在QPM里安裝QXDM

    1) 第一次打開QPM時(shí),需要輸入高通Case系統(tǒng)賬號、密碼

    2) 高通Case系統(tǒng)賬號、密碼登陸成功

    3) 切換到“All”選項(xiàng)卡,找到QXDM項(xiàng),點(diǎn)擊Install安裝即可。

    4) 如果沒有找到可用的高通Case系統(tǒng)賬號,就無法登錄QPM,無法安裝QXDM

    4. 高通工具使用的基本步驟

    1. 打開QXDM,連接USB DM口

    2. 導(dǎo)入與測試固件版本匹配的QShrink4文件(僅在高通最新平臺上需要執(zhí)行此步驟,如:SDX24/SDX55等)

    3. 選擇合適的DMC配置

    4. 復(fù)現(xiàn)問題,并抓取log

    5. 保存log,壓縮成zip文件(一定要壓縮!體積小8倍)

    6. 把log和相關(guān)文件(如:QShrink4文件),發(fā)給SW

    5. 使用QPST添加USB DM口

    1. 點(diǎn)擊”Add New Port”

    2. 添加“USB DM”口

    3. 成功添加“USB DM口”的效果圖

    6. 使用QXDM連接USB DM口

    1. 點(diǎn)擊“Connect to device”圖標(biāo)

    2. 選擇需要的USB DM口(只有State為“Running”的USB DM口才是可用的),點(diǎn)擊”Connect按鈕”

    7. 使用QXDM導(dǎo)入Qshrink4文件

    1) 在固件包中的dbg目錄下有以.qsr4結(jié)尾的QShrink4文件

    2) 每一個(gè)固件包中的QShrink4文件都不相同,是該固件包特有的

    3) 只有導(dǎo)入與固件匹配的QShrink4文件,才可以通過QXDM抓到有用log、使用QXDM讀取“已抓到的log”( QShrink4文件就像一把鑰匙)

    4) SDX24/SDX55/SA415M/SA515M等新平臺,才需要QShrink4文件;其他AG35等都不需要

    5) 選擇菜單Options->Load QShrink4.0…

    6) 選擇固件包/dbg目錄下的.qsr4文件,dbg目錄下有多于一個(gè)的.qsr4文件,逐一嘗試,當(dāng)觀察到能抓到“黃色”字體的log,說明已選擇了正確的.qsr4文件

    7) 如果嘗試完所有的.qsr4文件還是不正確,QXDM先關(guān)掉再重新打開,再來一遍第2步,應(yīng)該就好了

    8. 使用QXDM導(dǎo)入Default DMC

    1. 選擇菜單:File->Load Default Configuration

    9. 使用QXDM導(dǎo)入其他DMC

    1. 選擇菜單:File->Load

    2. 選擇工具包中的“耗流.dmc”

    10. 使用QXDM設(shè)置ALL DMC

    1) 按F5鍵,調(diào)出對話框”CFG File Generator”

    2) 左邊的復(fù)選框全部勾上

    3) 點(diǎn)擊OK完成

    11. 如何選擇使用哪個(gè)DMC?

    1. 標(biāo)準(zhǔn)方法:

    1) 咨詢SW,需要使用哪個(gè)DMC

    2) SW說使用Default DMC就可以,就使用Default DMC

    3) SW說要提供一個(gè).dmc配置文件,就導(dǎo)入該.dmc配置文件

    2. 簡單方法:

    1) 設(shè)置ALL DMC,缺點(diǎn)是:如果抓log的時(shí)間很長,log可能會非常大

    12. HT提供給SW的log文件列表

    1. *.isf文件(QXDM log),先壓縮一下再發(fā)給SW,壓縮之后體積小8倍

    2. 測試用的固件包/dbg目錄所有的*.qsr4文件

    wrk下載和安裝

    先安裝git

    cd /usr/local/src
    yum install git -y

    下載wrk文件

    git clone https://github.com/wg/wrk.git  
    cd wrk  
    make  

    編譯成功后,目錄下就會有一個(gè)wrk文件。

    環(huán)境配置信息

    CPU:8核心16線程

    內(nèi)存:16G

    服務(wù)運(yùn)行平臺:windows10 64位

    壓測服務(wù)運(yùn)行平臺:centos6.5

    golang測試接口性能指標(biāo)-帶磁盤IO操作

    該接口表示獲取uploads文件夾更目錄下所有文件列表。我們用wrk壓測該接口看下性能指標(biāo)。

    func listHandler(w http.ResponseWriter, r *http.Request) {
    	exists := isExists("./uploads")
    	if !exists {
    		os.MkdirAll("./uploads", os.ModePerm)
    	}
    	fileInfoArr, err := ioutil.ReadDir("./uploads")
    	if err != nil {
    		http.Error(w, err.Error(),
    			http.StatusInternalServerError)
    		return
    	}
    	listHtml := ""
    	for _, fileInfo := range fileInfoArr {
    		imgid := fileInfo.Name()
    		listHtml += "<li><a href=\"/viewPage?id=" + imgid + "\">" + imgid + "</a></li>"
    	}
    	pushHtmlString(w, "<a href='/upload'>相冊上傳</a>"+"<ol>"+listHtml+"</ol>")
    }

    壓測命令:

    ./wrk -t12 -c400 -d30s http://192.168.136.1:91/all

    壓測結(jié)果:

    [root@vm1 wrk]# ./wrk -t12 -c400 -d30s http://192.168.136.1:91/all
    Running 30s test @ http://192.168.136.1:91/all
      12 threads and 400 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency   117.79ms   14.15ms 212.55ms   87.51%
        Req/Sec   282.37     92.47   656.00     81.68%
      100822 requests in 30.06s, 21.44MB read
    Requests/sec:   3353.87
    Transfer/sec:    730.38KB

    golang測試接口性能指標(biāo)-常規(guī)接口

    這是一個(gè)普通的接口,向客戶端輸出html信息即可。

    func upload(w http.ResponseWriter, r *http.Request) {
    	if r.Method == "GET" {
    		pushHtmlString(w, "<a href='/all'>相冊查看</a>"+"<form method=\"POST\" action=\"/upload\" "+
    			" enctype=\"multipart/form-data\">"+
    			"Choose an image to upload: <input name=\"image\" type=\"file\" />"+
    			"<input type=\"submit\" value=\"Upload\" />"+
    			"</form>")
    		return
    	}
    }

    壓測結(jié)果:

    [root@vm1 wrk]# ./wrk -t12 -c400 -d30s http://192.168.136.1:91/upload
    Running 30s test @ http://192.168.136.1:91/upload
      12 threads and 400 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency    23.58ms   15.25ms 308.32ms   93.15%
        Req/Sec     1.51k   349.33    10.53k    80.72%
      535748 requests in 30.10s, 164.52MB read
    Requests/sec:  17797.87
    Transfer/sec:      5.47MB

    測試總結(jié)

    在當(dāng)前運(yùn)行環(huán)境下,golang編寫的一個(gè)常規(guī)web接口,QPS為17797.87。由于壓測服務(wù)器是vmware虛擬機(jī)里,有性能損耗。

    按參考教程里測試結(jié)果顯示,多次測試的結(jié)果在 4 萬左右的 QPS 浮動,響應(yīng)時(shí)間最多也就是 40ms 左右,對于?個(gè) Web 程序來說,這已經(jīng)是很不錯(cuò)的成績了,我們只是照抄了別?的示例代碼,就完成了?個(gè)?性能的 hello world 服務(wù)器。

    筆記總結(jié)

    package main
    
    import "fmt"
    
    /**
    golang接口性能測試
    壓測工具 wrk。參考教程:
    https://www.cnblogs.com/ycyzharry/p/8372168.html
    
    性能指標(biāo):
    TPS:Transactions Per Second  寫接口的性能指標(biāo),每秒可以完成的事務(wù)數(shù)量
    QPS: Queries Per Second		  查詢接口的性能指標(biāo),每秒可以完成的查詢數(shù)量 也叫吞吐量
    QoS: Quality of Service       單個(gè)接口服務(wù)質(zhì)量
    
    1.普通查詢接口QPS獲取
    ./wrk -t12 -c400 -d30s http://192.168.136.1:91/all
    [root@vm1 wrk]# ./wrk -t12 -c400 -d30s http://192.168.136.1:91/all
    Running 30s test @ http://192.168.136.1:91/all
      12 threads and 400 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency   117.79ms   14.15ms 212.55ms   87.51%
        Req/Sec   282.37     92.47   656.00     81.68%
      100822 requests in 30.06s, 21.44MB read
    Requests/sec:   3353.87
    Transfer/sec:    730.38KB
    
    Requests/sec: x  x就是 qps
    2.數(shù)據(jù)庫寫接口TPS獲取 目前尚未提供該數(shù)據(jù)庫交互接口,應(yīng)該是post接口。需要配合post.lua腳本完成
    ./wrk --latency -t100 -c1500  -d120s --timeout=15s -s post.lua http://127.0.0.1:91/saveToDb
    Requests/sec: x  x就是 tps qps
    
    
    wrk補(bǔ)充說明:
    wrk可以配合lua腳本,完成各種接口測試,如帶文件上傳,post請求,form表單提交,隨機(jī)數(shù)等等。通過編程手段完成壓測。
    
    */
    func main5() {
    	fmt.Println("注釋介紹golang接口性能測試")
    }

    問題延伸

    任何一個(gè)接口都有自己的QPS吞吐量,可以最大程度的去提高這個(gè)值,但不會達(dá)到無限大,既然總有一個(gè)極限值,那就意味著,當(dāng)請求特別大總會突破這個(gè)QPS瓶頸,這時(shí)候會發(fā)生什么呢?常規(guī)默認(rèn)情況下,服務(wù)會降低速度或奔潰,所有訪問的用戶都會受到影響,訪問慢甚至服務(wù)不可達(dá)。

    這時(shí)候就引入流量限制服務(wù)的概念,超出qps的請求進(jìn)行合理的處理,保障qps以內(nèi)的請求是可用的。

    比如阿里的開源系統(tǒng):sentinel流量控制,就是做這個(gè)事情的。詳細(xì)介紹參考:

    https://github.com/alibaba/Sentinel/wiki/介紹

    golang有自己的第三方庫進(jìn)行流量控制, sentinel流量控制主要服務(wù)于java系統(tǒng)。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有