Я использую 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? Также, каково решение, чтобы удалить / уменьшить эту блокировку метаданных.