MongoDB: 3.2 Медленная запись много Metadata.acquireCount.W и timeAcquiringMicros - PullRequest
0 голосов
/ 11 июля 2019

Я использую mongodb версии 3.2. В больших коллекциях простые запросы вставки занимают от 1 до 5 секунд.

Большие коллекции - 4 большие коллекции, 3 большие коллекции содержат 200 000 записей, а одна большая коллекция насчитывает 10 миллионов записей. На 3 крупных коллекциях происходят частые операции. При проверке профилировщика я обнаружил, что в запросах было много мета-эксклюзивных блокировок и

исй:

"Database" : {
            "acquireCount" : {
                "w" : NumberLong(2)
            },
            "acquireWaitCount" : {   // It slows down write performance// no of times waited for locks
                "w" : NumberLong(1)
            },
            "timeAcquiringMicros" : {  // due to acquire wait, this is the time taken in wait queue
                "w" : NumberLong(8339)
            }
        },
        "Collection" : {
            "acquireCount" : {
                "w" : NumberLong(1)
            }
        },
        "Metadata" : {
            "acquireCount" : {
                "w" : NumberLong(2),  // why two
                "W" : NumberLong(1) /// why it has two entires
            },
            "acquireWaitCount" : {  
                "W" : NumberLong(1)
            },
            "timeAcquiringMicros" : {
                "W" : NumberLong(738)
            }
        },
        "oplog" : {
            "acquireCount" : {
                "w" : NumberLong(1)
            }
        }

Ват это Metadata.acquireCount и Metadata.timeAcquiringMicros? Также, каково решение, чтобы удалить / уменьшить эту блокировку метаданных.

...