私たちのビジネス モデルでは、CPU 時間/使用量に基づいてユーザーに課金する必要があります。
StopWatch
最初は単純に経過時間を測定単位として使用することを考えていました。
しかし、このアプローチの問題点は、5000 人のユーザーがサーバーにアクセスしている日中は、50 人のユーザーしかサーバーにアクセスしていない夜間よりも、同じコードの経過時間が長くなることです。
その他のオプションは、ユーザーが渡したデータに対して実行された反復に基づいてユーザーに課金することです。このアプローチにもいくつかの問題があります。
- 一部の関数は、データの反復を必要としません。
- の CPU 使用率
x + y
は のそれよりも低くなっていx + y * z
ます。
サーバーの負荷に関係なく、同じ操作ですべてのユーザーが同じになるように、C#/.Net で CPU 使用率の情報を計算する良い方法は何ですか?
おそらく、実際のアセンブリ レベルの指示の合計量は? C# でその情報を取得する方法はありますか?
他にどのようなアプローチや推奨事項を共有できますか?
これを調べてくれてありがとう。