Go語言實現HTTP壓測工具(1) 前期準備

2021-09-24 05:37:17 字數 1690 閱讀 1934

2. 前期準備

3. 基礎學習

4. 環境安裝

具體的內容我還沒整理,可以參見本週週報的每日記錄週報列表

一周之內要完成的任務。

1.1 理解需求:

什麼是http壓測工具;

效能指標有哪些,要完成到哪個程度

1.2 基礎知識

golang語言的基礎語法和使用;

nginx的基礎效能指標;

1.3 樣例參考

c語言開發的apachebench工具

1.4 開發

1.5 除錯

2.1 http壓力測試是什麼,apacehbench又是什麼

超實用壓力測試工具-ab工具

http效能測試點滴

有一些需要區分的地方

-n = 1000	//總請求數

-c = 100 // 併發數

time per request: 604.585 [ms] (mean) // tpr1

time per request: 6.444 [ms] (mean, across all concurrent requests) // tpr2

這是啥意思呢,舉個可能不太恰當的栗子

隨之而來的是時間概念也模擬一下

這也可以看出來,tpr1 = tpr2*c

可以這麼理解,你回一條訊息需要6毫秒,可是同時有100條訊息進來(100個人每人一條),那你處理完不就是600ms,她們100個妹子就等了600ms啊(這手速可以)。

那麼,我們重點關注的吞吐率,rps,又是用哪個時間呢?正經的說法是每秒返回的http連線數,也就是每秒響應的request。按照我舉的例子來看,就是你一秒可以處理多少條聊天訊息,再通俗一點,就和上面的tpr2成反比。這個想一下應該好理解吧,我發一條訊息需要0.1s(tpr2),那我一秒不就可以發10條訊息(rps)。

2.2 nginx是什麼,如何壓測

參考**

nginx可以做什麼?看完這篇你就懂了

nginx系列(一)–nginx是什麼?

使用ab對nginx進行壓力測試

3.1 golang語言
參考資料:

《go語言入門經典》,[英]喬治·奧爾波

go 入門指南 - github

go 語言結構 & 基礎語法-知乎

the go programming language - getting started

windows 平台下 liteide 的安裝和使用

本來打算在linux環境下搞這個的,沒辦法,電腦又老又破,windows卡。。。雖然裝了雙系統,好久沒用過linux,今天開啟,弄半天弄不好環境,算了,世上無難事,只要肯放棄。

還是用windows環境來搞了。

安裝好了語言環境,稍微看了一下,挑了 liteide 工具,但是後來裝 mingw 的時候一直報錯,谷歌了好久,仍未解決。

golang

go1.11.10.windows-amd64.msi

liteide

liteide x-home

Go語言實現HTTP壓測工具(0) 問題彙總

1.1 liteide 錯誤 程序無法啟動 liteide 錯誤 程序無法啟動 兩個原因 執行環境選的不對 路徑帶有中文 1.2 安裝mingw時,提示mingw get error get package download failed mingw s mingw get fails downlo...

Go語言實現http共享 總結

go 語言入門簡單,可要寫出好的 go 得需要下些功夫。前兩天剛把 檔案共享的公升級過 現在經大牛指點完全用 實現,感覺爽快多了。這裡呼叫的是 函式,這個函式宣告如下 func handlefunc pattern string,handler func responsewriter,request...

常用的HTTP服務壓測工具介紹

在專案正式上線之前,我們通常需要通過壓測來評估當前系統能夠支撐的請求量 排查可能存在的隱藏bug,同時了解了程式的實際處理能力能夠幫我們更好的匹配專案的實際需求,節約資源成本。在專案正式上線之前,我們通常需要通過壓測來評估當前系統能夠支撐的請求量 排查可能存在的隱藏bug,同時了解了程式的實際處理能...