2009年3月5日 星期四

精準測試

之前有個 case,要透過 PC 上的 SNMP Client 去對 DUT 產生 CPU 的 loading,使 Client 的 request 被 queue 住。

我在一台 PC 上同時 run 了 45 個 Client,對 DUT 也確實產生了 CPU 的 loading。

但是後來發生兩個狀況,

一個是 DUT 的 CPU loading 始終沒辦法維持 100%,

一個是 Project Leader 唸我說這樣測不準確。



為什麼呢?

因為我在一台 PC 上 run 45 個 Client,

但是以 OS 的角度我們必須用更細微的眼光來看,

雖然所有的 Client 是同時在 run,但是因為是在同一台 PC 上,

所以 OS 還是針對每個 Client 逐一的去處理,逐一的送出 request,

因此我們可以確定 request 是逐一到達 DUT,而不會同時到達造成 DUT 在 CPU loading 重的時候,

必須 queue 住一些request。



較準確的作法應該是,

用多台 PC 同時下去跑 Client,讓每台 PC 上的送出的 request 為各自獨立的事件,

同時間才會有 request 同時到達 DUT,才有可能產生 queue 住的情形。



大學和研究所都有修 OS,

我竟然沒想到 Orz。

沒有留言:

張貼留言