我正在使用由Docker Swarm管理并部署到基于Azure的虚拟机的容器进行分布式数据处理实验。
我正在比较两种类型的机器:具有1vcpu和2gb内存的b1ms以及具有2vcpu和4gb内存的b2s。根据文档,它们都使用相同的Intel haswell i3处理器。
我的第一个问题是:b2提供的处理能力是否恰好是b1ms的两倍?
在部署到四台b1ms机器的四个容器群集上使用Flink运行实验时,CPU使用率比在部署到两台b2s机器的四个容器群集上运行相同的实验要高得多。在这两种情况下,作业并行性都设置为四个。
为什么会这样?我本来希望这两个设置是等效的。每个计算机设置中的1个容器中的计算机的平均和最大CPU使用率比每个计算机设置中的2个容器中的机器平均和最大CPU使用率高约30%。这些机器上没有其他任何重要的意义:仅Prometheus监控并不能解决如此大的差异。
我是不是很天真,可以忽略这里明显的东西?
也许我用来获取每个容器的CPU使用率的Azure Log Analytics查询不准确吗?
Perf | where ObjectName == "Container" and CounterName == "% Processor Time" | where InstanceName has "taskmanager" | summarize AvgCPUPercent = avg(CounterValue) by Computer, InstanceName // Oql: Type = Perf ObjectName= "Container" CounterName="% Processor Time"| Measure Avg(CounterValue) as AvgCPUPercent by Computer, InstanceName // WorkspaceId: {00000000-0000-0000-0000-000000000000} // Version: 0.1.91