Наша бизнес-модель требует взимать плату с пользователей в зависимости от количества часов использования процессора.
Первоначально я думал просто использовать StopWatch
, а затем использовать прошедшее время в качестве единицы измерения.
Но проблема, которую я вижу при таком подходе, заключается в том, что в дневное время, когда на сервер заходят 5000 пользователей, затраченное время для одного и того же фрагмента кода будет больше, чем в ночное время, когда на сервер заходят только 50 пользователей. .
Другим вариантом является взимание платы с пользователей на основе итераций, выполненных с переданными пользователями данными. С этим подходом также связано несколько проблем.
x + y
ниже, чем для x + y * z
.Как правильно рассчитать информацию об использовании ЦП в C#/.Net, чтобы она оставалась одинаковой для всех пользователей при выполнении одной и той же операции независимо от нагрузки на сервер?
Возможно, общее количество актуальных инструкций уровня ассемблера? Есть ли способ получить эту информацию в С#?
Какими еще подходами и рекомендациями вы можете поделиться?
Большое спасибо за внимание.