2011-07-23 6 views
0

現在、私は、1人のWebアプリケーションのコストに関連するビジネスメトリクスを考え出しています。私はamazon上のサーバーの月額料金を知っており、その顧客に接続されているプロセスの数を決めることができます。しかし、一部の顧客には余分なデータがあり、データベースのオーバーヘッドが増え、プロセスが増え、処理時間が長くなります。これらの費用を計算する最良の方法は何ですか。ストレージはとても安価で計算が簡単なので、今はその式を外しておきたいと思います。単一のプロセスのコストを定義する

#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では、Pythonがstdlibでこれを呼び出す準備ができているはずです。 Windowsでは、私が信じているPywin32エクステンションを使う必要があります。

関連する問題