① 如何估算程序需要的CPU資源
一、CPU使用率其實就是運行的程序佔用的CPU資源,表示你的機器在某個時間點的運行程序的情況。使用率越高,說明機器在這個時間上運行了很多程序,反之較少。使用率的高低與你的CPU強弱有直接關系。而且CPU和內存佔用是跟你的腳本掛鉤的。腳本復雜,佔用的就多。
二、步驟
方法一:
【1】首先你需要用壓測工具(比如webbench)持續模擬請求,在壓測期間每秒運行psaux|grepphp-fpm一次,把結果記錄在文件中。
【2】等壓測結束後,可以通過分析統計這個文件(結果第三列是cpu佔用,第四列是內存佔用),然後就可以繪制出php-fpm進程的cpu,內存佔用了。
方法二:
如果在某一型號的設備上進行過測試,現在需要規劃下一次測試任務需要的CPU資源;或者在同一型號的設備上,對比不同應用類型、同一應用不同版本之間的差異,可以採用簡單估算。
1. 計算方法
CPU個數x利用率/吞吐量=CPU個數x利用率/(交易筆數/秒)=CPU個數x利用率x秒/交易筆數=每筆交易消耗的CPU持續了一秒鍾。
2. 舉例說明
假設某應用在一台8核伺服器上運行,當每秒處理100筆交易的情況下,CPU利用率為70%。此時CPU個數x利用率=5.6。
每筆交易消耗一秒鍾CPU的個數=5.6/100=0.056。
假設下次測試需要測試吞吐量為每秒200筆交易,大約要求CPU利用率在50%左右。則需要給測試伺服器大約的CPU個數為:0.056x200/0.5=22.4。至於這個22.4C的伺服器能不能達到每秒200筆交易的能力,是另一回事。