MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Limite =1 =1ms, Limite> 1 =150ms (mongo-melt-down)


Parece ser um problema com o driver 2.0.x:aqui está um tópico...

Acabei de executar exatamente a mesma consulta com 2.0.xe 1.4.x. Quando Limit =1, ambos executam rápido ~1ms. Quando Limit =2, a versão 1.4.x fica em torno de 1ms, mas a versão 2.0.x salta para 25ms. Portanto, não é apenas um problema com a saída de explicação - isso é apenas um sintoma do problema.

Na quinta-feira, 8 de janeiro de 2015 09:04:05 UTC-8, Joshua Abrams escreveu:Interessante... exatamente a mesma consulta usando 1.4.x produz uma explicação adequada onde n =2 (e assim por diante). Isso pode estar afetando o desempenho? Quando executo uma consulta em que Limit =1 é rápido (como esperado), mas quando Limit =2 é 100x mais lento ...

Em quinta-feira, 8 de janeiro de 2015 08:52:28 UTC-8, christkv escreveu:not really. Minha sugestão é fazer um caso de teste minimamente reproduzível (código e dados) e abrir um ticket em jira.mongodb.com. meio difícil saber o que pode estar acontecendo. é improvável que seja o motorista, mas nunca se sabe. tente com o branch 1.4.x também para pelo menos descartar que é um problema do branch 2.0.x.

Na quinta-feira, 8 de janeiro de 2015 17:47:45 UTC+1, Joshua Abrams escreveu:Acabei de verificar e estou usando a versão 2.0.12 do driver. Algum outro pensamento?

Na quinta-feira, 8 de janeiro de 2015 08:23:16 UTC-8, christkv escreveu:explain está apenas reajustando todos os resultados no driver em vez de resultados parciais. assim você obtém o plano. Uma coisa que vem à mente pode ser que você está em um driver anterior a 1.4.19 que teve um erro em que batchSize foi definido como 1.

Na quinta-feira, 8 de janeiro de 2015, 17:01:42 UTC+1, Joshua Abrams escreveu:Ultimamente, tenho tido vários problemas de desempenho com o driver.Limite =1 =1ms, Limite> 1 =150ms (mongo-melt-down)

Não tenho certeza de qual é a causa raiz - e é impossível depurar quando não consigo uma explicação adequada:MongoDB Native Node Driver:Explain is Broken?