5
我們的商業模式需要根據CPU使用小時數對用戶收費。計算CPU使用率
最初我在考慮簡單地使用StopWatch
,然後使用經過時間作爲度量單位。
但是我用這種方法看到的問題是,在5000個用戶點擊服務器的當天,當只有50個用戶點擊時,同一段代碼的流逝時間將高於夜間時間服務器。
其他選項是基於對傳入的數據用戶執行的迭代向用戶收費。此方法也存在一些問題。
- 某些函數不需要對數據進行任何迭代。
x + y
的CPU使用率低於x + y * z
。
在C#/ .Net中計算CPU使用率信息的好方法是什麼,以便所有用戶在同一操作中保持不變,而不管服務器的負載如何?
可能是實際裝配水平指令的總量?有沒有辦法在C#中獲取這些信息?
還有什麼其他方法可以分享?
非常感謝您關注此事。
你能分享一些在獨立進程中執行代碼並獲得CPU時間的例子嗎? – Moon
+1對於「不願意閱讀文檔的人」(以及正確答案:-)) – phoog
順便說一句,如果我想跟蹤一個函數的使用情況,該怎麼辦?我可以將這些代碼包裝在一個exe文件中。但有沒有更好的辦法? 如果該函數在後臺線程中執行一些其他任務,它們是否會成爲同一進程的一部分,並會影響'TotalProcessTime'? – Moon