2011-07-23 43 views
0

我目前正試圖想出一些與每個客戶的Web應用程序成本相關的業務指標。我知道我們每月在亞馬遜上爲服務器支付的價格,並且可以劃定附加到該客戶的流程數量。但是,一些客戶有額外的數據會引發額外的數據庫開銷,更多的流程和更長的處理時間。計算這些成本的最佳方法是什麼?由於存儲非常便宜,而且更容易計算,所以現在我想把這一部分從等式中排除出去。定義單個流程的成本

#Naive Way 
Customer $$ = Cost of Server/Number of Customers 

保在一些客戶比別人

多個進程
#Less Naive Way 
Customer $$ = Cost of Server/(% of processes for that Customer) 

更精確的將建立一些跟蹤到每個進程,內存使用,系統時間等我應該跟蹤並執行他們的存在一個已經做到這一點的軟件包? (Python優先,因爲它是我們的代碼庫。)

+1

請問具體的編程/編程工具問題。 – agf

+1

您可能希望將其移至程序員.stackexchange.com – Malvolio

+0

這取決於您的系統是如何設計的,我的意思是如果每個客戶都有一個實例,那麼確定您可以跟蹤該實例的佔用空間,但是如果沒有請記住這一點。 –

回答

1

如果它是您自己的Python代碼,那麼每個進程都有可能執行它自己的計算。該流程收集有關自身的信息並在客戶ID下提交給數據庫。

此處的指標是「CPU時間」 - 過程一直使用CPU的數量。你

CPU Usage Per Process in Python

還可以得到處理IO,磁盤和網絡,消費,以同樣方式進行。在OSX中,你應該已經準備好了在stdlib中調用這些函數(儘管如此)。在Windows上,你需要使用我相信的Pywin32擴展。