[開發心得]-壓力測試

摘要:開發心得-壓力測試

壓力測試,使用的是Apache Bench (ab)

搭配可使用post file(參數資料)

實際打網站做壓力測試(最好是區網內的壓力測試~覺得只是要瞭解處理負擔量,但用太遠的機器去打遠距離的機器,因為來回需要網站時間,不太好瞭解是網路問題還是程式問題)

 

而打完之後,會知道多少同時連線數時,傳多少Request,會發生Fail

一開始我用簡單的

-n 10 -c 1

再來慢慢增長

-n 10 -c 10

-n 100 -c 10

-n 100 -c 100 

-n 1000 -c 100 ( 這時候我測出的RPS最高)

-n 1000 -c 1000 ( 這時候,出現fail與不正常問題, 錯誤率4%)

-n 10000 -c 1000 (這時候,出現fail最多,錯誤率20%)

 

心想,這樣就知道一臺機器,最多可同時連線多少,在同時連線沒問題的情況下,RPS又是多少。

 

再從平常流量log 記錄去找(使用 flunted),

將RPS與同時連線數算出來,

就知道現況的實際RPS與同時連線數。

 

若實際同時連線數>現有機器一臺同時連線數。

就要增加N 臺應付。

 

若RPS,也應付不來,再增加N臺,以應付。

 

接著從N條的處理連線的網頁去看,將效能不好的,看能Cache 的就Cache,能射後不理的就射後不理。

然後,該怎麼處理壓力測,系統程式的修改呢?

又是一個難題(還是通通放雲端去吧~XD)

 

2013/06/27 壓測後記

我用的是domain url

 

而真正做壓測,或許要用的是private url

避免他跑到外面去經過轉譯,再跑回來。

所以要設私有ip

 

讓他往內路網域去跑。

sudo vi /etc/hosts

private_ip domain url