定义单个流程的成本

时间:2011-07-23 15:48:00

标签: python monitoring

我目前正在努力提出一些与每位客户的网络应用程序成本相关的业务指标。我知道我们每月为亚马逊服务器支付的价格,并且可以划分附加到该客户的流程数量。但是,一些客户有额外的数据会导致额外的数据库开销,更多的流程和更长的处理。计算这些成本的最佳方法是什么。由于存储是如此便宜,而且更容易计算,我现在想要将这一部分排除在等式之外。

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

考虑到一些客户拥有的流程比其他客户多

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

更精确的是在每个进程,内存使用,系统时间等方面构建一些跟踪。我应该跟踪什么,并且它们是否存在已经执行此操作的程序包? (Python最好是我们的代码库。)

1 个答案:

答案 0 :(得分:1)

如果它是您自己的Python代码,则每个进程都可以自己进行计费。该过程收集有关自身的信息,并在客户ID下提交到数据库。

此处的指标是“CPU时间” - 进程使用CPU的程度。

CPU Usage Per Process in Python

此外,您可以以类似的方式获取进程IO,包括磁盘和网络,消耗。在OSX中,你应该在stdlib中为这些调用做好准备(尽管不确定)。在Windows上,您需要使用我相信的Pywin32扩展。