Оркестровка: более низкая загрузка процессора в соседних контейнерах? - PullRequest
0 голосов
/ 24 ноября 2018

Я выполняю эксперимент по распределенной обработке данных с использованием контейнеров, управляемых Docker Swarm и развернутых на виртуальных машинах на основе Azure.

Я сравниваю два типа машин: b1ms с 1vcpu и 2 ГБ памяти и b2s с2vcpu и 4gb памяти.Согласно документации, они оба используют один и тот же процессор Intel haswell i3.

Мой первый вопрос: предлагает ли b2s удвоенную вычислительную мощность b1ms?

При проведении моих экспериментов с использованием Flink на кластере из четырех контейнеров, развернутом на четырех машинах b1ms, загрузка ЦПбыл намного выше, чем проведение тех же экспериментов на кластере из четырех контейнеров, развернутом на двух машинах b2sПараллелизм заданий был установлен на четыре в обоих случаях.

Почему это происходит?Я ожидал, что эти две установки будут эквивалентны.Среднее и максимальное использование ЦП для машин в 1 контейнере на установку машины примерно на 30% выше, чем в 2 контейнерах на установку машины.На этих машинах не работает ничего более значимого: один только мониторинг Прометея не объяснил бы такого большого расхождения.

Я наивен и упускаю здесь что-то очевидное?

Может быть, 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...