【发布时间】:2019-08-08 23:50:13
【问题描述】:
我有一些运行缓慢的服务正在执行一些相当繁重的处理。这些进程在多个不同的地方运行,包括本地服务器和 Azure,并且都将它们的结果写入一个公共数据库。我想在数据库中存储一个与处理结果相关联的注释,说明对运行处理的性能能力有用的信息。
我的本地服务器成功运行以下代码,这允许我记录 CPU 名称(例如:我的工作站使用以下代码记录“AMD Ryzen 9 3900X 12 核处理器”,这足以满足我们的需求):
public string GetCpu()
{
var searcher = new ManagementObjectSearcher("SELECT Name FROM Win32_Processor");
string results = "Unknown CPU";
foreach (var item in searcher.Get())
{
results = item["Name"].ToString();
}
return results;
}
您可能怀疑,此代码无法在 Azure 中运行并出现权限错误。还有什么我可以在 Azure 中运行以获取有用信息的东西,即使不完全相同?我不需要 CPU 名称,只是处理能力的有用指标。如果记录了诸如“P1V1 App Hosting Plan”之类的内容,那将足以满足我们的需求。我不确定是否有比这更能说明处理能力的东西,但我也愿意接受其他建议。考虑到正在进行的多租户设置,我怀疑在 Azure 中获取 CPU 模型甚至可能具有欺骗性。
【问题讨论】:
标签: c# azure .net-core azure-web-app-service .net-core-2.2