Назад | Перейти на главную страницу

Контрастное падение ЦП

Я запускаю службу memcached в контейнере Linux, прикрепленном к определенному физическому ядру. Как и ожидалось, ЦП увеличивается при увеличении количества запросов. Запросы отправляются генератором рабочей нагрузки на другом компьютере. Однако для заданного количества запросов количество используемых ЦП варьируется интуитивно интуитивно в разных сценариях. У машины 4 физических ядра (0,1,2,3), и гиперпоточность отключена.

1) Memcached работает отдельно на одном ядре (CPU0)

2) Memcached работает на одном ядре (CPU0), а приложение, интенсивно использующее процессор (выполняет много операций с плавающей запятой), работает на (CPU3).

Например, Memcached использует ЦП 88% для 60000 запросов в секунду для сценария 1. Для тех же 60000 запросов в секунду Memcached использует меньшее количество ЦП - 78% для сценария 2. Как это возможно? Почему загрузка ЦП Memcached падает, когда приложение, интенсивно использующее ЦП, работает на другом ядре?

Некоторые результаты прерывания для каждого ядра из mpstat:

сценарий1 (memcached работает только на CPU0):

CPU usage of Memcached = 88%

Average:     CPU       HI/s    TIMER/s   NET_TX/s   NET_RX/s    BLOCK/s BLOCK_IOPOLL/s  TASKLET/s    SCHED/s  HRTIMER/s      RCU/s
Average:       0       0,00     231,61       0,20  102893,92       0,00       0,00       0,00       4,14       0,18      42,53
Average:       1       1,80      18,33       0,00       0,00       0,00       0,00       0,98       4,25       0,02      15,98
Average:       2       0,00      22,96       0,00       0,00       0,00       0,00       0,00       3,47       0,02      20,49
Average:       3       0,00      20,59       0,00       0,00       0,78       0,00       0,00       3,43       0,02      18,71

Сценарий 2: (memcached на CPU0 и приложение с интенсивным использованием процессора на CPU 3)

CPU usage of Memcached = 78%
Average:     CPU       HI/s    TIMER/s   NET_TX/s   NET_RX/s    BLOCK/s BLOCK_IOPOLL/s  TASKLET/s    SCHED/s  HRTIMER/s      RCU/s
Average:       0       0,00     204,87       0,21  102268,58       0,00       0,00       0,00       2,77       0,40     133,05
Average:       1       0,03      24,94       0,00       0,00       0,00       0,00       0,55       5,56       0,06      23,38
Average:       2       0,00      17,23       0,00       0,00       0,00       0,00       0,00       4,23       0,04      16,12
Average:       3       0,00     250,00       0,00       0,00       0,74       0,00       0,00       2,50       0,00      37,69