摘要:開發心得-壓力測試
壓力測試,使用的是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