Пн go не загружает полный рабочий набор в WiredTiger Cache - PullRequest
0 голосов
/ 31 января 2020

У меня есть два запроса, связанных с mon go db кеша WiredTiger. Я пробую тест YCSB для проверки поведения mon go. Сервер Mon go привязан к 4C / 8T, а в тесте производительности есть запросы на чтение и обновление. Я пытаюсь загрузить БД с 10M строк и только с 1 коллекцией, т.е. Попытка суммировать проблемы вместе с несколькими показателями в БД.

  • Размер коллекции БД зависит от распределения размера кэша WiredTiger: наблюдается, что размер коллекции зависит от размера кэша WiredTiger даже после загрузки тех же данных
  • Даже несмотря на то, что в кеше достаточно свободного места, Mon go не выведет весь рабочий набор в кэш (размер кэша 31 ГБ описан ниже), даже если свободное место доступно. Следовательно, производительность варьируется.

Добавление статистики для кэша WiredTiger размером 31G, 45G и 128G. Вся статистика собирается после фазы загрузки, поэтому db.stats () остается одинаковой для всех, но размер кэша и размер коллекции различаются.

db.stats () "collection": 1, "views": 0, "objects": 10000000, "avgObjSize": 150.8795472, "dataSize": 1508795472, "storageSize": 3248451584, «numExtents»: 0, «indexes»: 1, «indexSize»: 394469376, «scaleFactor»: 1,

31G Размер кэша:

db.serverStatus ( ) .wiredTiger.cache "байты, находящиеся в данный момент в кэше": 3286513851, "байты загрязнены в кэш-памяти": 195470511, "байты прочитаны в кэш": 201,

db.usertable.stats () "cache ":" байты, находящиеся в данный момент в кэше ": 1903546864," накопленные байты в кеше ": 397640," байты, считанные в кэш ": 0,

45G размер кэша:

db. .usertable.stats () "cache": "байты, находящиеся в данный момент в кэше": 2404522384, "грязные байты в кеше": 137204, "байты прочитаны в кэш": 0,

128G Размер кэша:

db.serverStatus (). WiredTiger.cache "Число байтов, находящихся в настоящее время в кэше": 3862682273, "накоплено байт в кеше ": 188002965," байты считаны в кэш ": 0,

db.usertable.stats ()" cache ":" байты в настоящее время в кэше ": 2404598934," накоплено байт в кеше ": 147844 , "байты считываются в кэш": 0,

Есть ли какой-либо фактор или зависимость в mon go DB, которая влияет на ограничение рабочего набора размера коллекции.

Во время выполнения: при меньшем размере кэша размер коллекции ограничен, что приводит к перестановке страниц, так как значение «байтов считывается в кэш» достигает пиковых значений и снижается производительность.

Во время выполнения: размер кэша 31 ГБ:

db.usertable.stats () "cache": "байты, находящиеся в данный момент в кэше": 2063022696, "грязные байты в кэше накопительный ": 12618328185," байты считаны в кэш ": 17979010

128G Размер кэша:

db.usertable.stats ()" байтов, в настоящее время находящихся в кэше ": 5587271726, «накоплено байт в кеше»: 8036385869, «байты не принадлежат изображениям страниц в кеше»: 3798005089, «прочитано байтов в кэш»: 0,

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