使用RavenDB进行调试的速度非常慢

使用RavenDB进行调试的速度非常慢,ravendb,Ravendb,我使用的是RavenDB 2.0.3.0版。当调试器被连接时,所有涉及RavenDB的东西都运行得非常慢。每个查询都需要几秒钟才能完成 如果我在调试器还在的时候按pause,我总是会看到它挂断了,并出现以下调用跟踪: Lucene.Net.dll!Lucene.Net.QueryParsers.FastCharStream.Refill()行91 C# Lucene.Net.dll!Lucene.Net.QueryParsers.FastCharStream.ReadChar()行53 C# L

我使用的是RavenDB 2.0.3.0版。当调试器被连接时,所有涉及RavenDB的东西都运行得非常慢。每个查询都需要几秒钟才能完成

如果我在调试器还在的时候按pause,我总是会看到它挂断了,并出现以下调用跟踪:

Lucene.Net.dll!Lucene.Net.QueryParsers.FastCharStream.Refill()行91 C# Lucene.Net.dll!Lucene.Net.QueryParsers.FastCharStream.ReadChar()行53 C# Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParserTokenManager.JjMoveNfa_3(int startState,int curPos)行604+0x1b字节C# Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParserTokenManager.JjMoveStringLiteralDfa0_3()行94+0xd字节C# Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParserTokenManager.GetNextToken()行1379+0x9字节C# Lucene.Net.dll!Lucene.Net.QueryParser.QueryParser.Jj_ntk()行1929+0x1d字节C# Lucene.Net.dll!Lucene.Net.QueryParser.QueryParser.子句(字符串字段)第1373行+0x1d字节C# Lucene.Net.dll!Lucene.Net.QueryParser.QueryParser.Query(字符串字段)行1301+0xc字节# Lucene.Net.dll!Lucene.Net.QueryParser.QueryParser.TopLevelQuery(字符串字段)行1287+0xc字节# Lucene.Net.dll!Lucene.Net.QueryParser.QueryParser.Parse(字符串查询)行223+0xf字节C# Raven.Database.dll!Raven.Database.Indexing.QueryBuilder.BuildQuery(字符串查询,Raven.Abstracts.Data.IndexQuery IndexQuery,Raven.Database.Indexing.RavenPerFieldAnalyzerRapper分析器)第56行+0xe字节C# Raven.Database.dll!Raven.Database.Indexing.Index.IndexQueryOperation.GetLuceneQuery(字符串查询,Raven.Abstracts.Data.IndexQuery IndexQuery)行1120+0x1d字节C# Raven.Database.dll!Raven.Database.Indexing.Index.IndexQueryOperation.GetLuceneQuery()行1081+0x28字节C# Raven.Database.dll!Raven.Database.Indexing.Index.IndexQueryOperation.Query()行803+0x26字节C# [外部代码] Raven.Database.dll!Raven.Database.DocumentDatabase.Query.AnonymousMethod_uu8e(Raven.Database.Storage.istorageActionsAccess操作)行1220+0x145字节C# Raven.Database.dll!Raven.Database.DocumentDatabase.Query(字符串索引,Raven.Abstractions.Data.IndexQuery查询)行1237c# Raven.Database.dll!Raven.Database.Queries.DynamicQueryRunner.ExecuteAcQuery(Raven.Abstracts.Data.IndexQuery查询,Raven.Database.Data.DynamicQueryMapping映射,System.Tuple touchTemporaryIndexResult,string realQuery)行82+0x32b字节C# Raven.Database.dll!Raven.Database.querys.DynamicQueryRunner.ExecuteDynamicQuery(字符串entityName,Raven.Abstractions.Data.IndexQuery查询)第49行+0x15字节C# Raven.Database.dll!Raven.Database.querys.DynamicQueryExtensions.ExecuteDynamicQuery(Raven.Database.DocumentDatabase self,string entityName,Raven.Abstractions.Data.IndexQuery IndexQuery)第19行+0x11字节C# Raven.Client.Embedded.dll!Raven.Client.Embedded.EmbeddedDatabaseCommands.Query(字符串索引,Raven.Abstracts.Data.IndexQuery查询,字符串[]包含,bool metadataOnly,bool indexEntriesOnly)行389+0x47字节C# Raven.Client.Lightweight.dll!Raven.Client.Document.AbstractDocumentQuery>.ExecuteActualQuery()行535+0x50字节C# Raven.Client.Lightweight.dll!Raven.Client.Document.AbstractDocumentQuery>.InitSync()行518 C# Raven.Client.Lightweight.dll!Raven.Client.Document.AbstractDocumentQuery>.QueryResult.get()行505 C# Raven.Client.Lightweight.dll!Raven.Client.Linq.RavenQueryProviderProcessor.ExecuteQuery()行1425+0x1b字节C# Raven.Client.Lightweight.dll!Raven.Client.Linq.RavenQueryProviderProcessor.Execute(System.Linq.Expressions.Expression)行1398+0x3d字节C#

如果我在没有附加调试程序的情况下运行,一切都会运行得很好很快。。。我在昨天以前从未遇到过这个问题

我正在使用一个带有DataDir=~\App\u Data\RavenDB的EmbeddedBleDocumentStore

我试着删除RavenDB目录,但即使有一个完全新的DB,Raven还是一样慢


知道哪里出了问题,或者我如何排除故障吗?

如果您正在使用IntelliTrace,请将其关闭。
在异常设置中,只标记我的代码,不要停止处理异常。

我们曾经有过同样的问题,直到我们发现我们正在为每个请求创建索引(由于DocumentStore的IoC注册错误)

我们确保在每个应用程序初始化时调用这一行,并且慢度消失:

IndexCreation.CreateIndexes(typeof(MyIndex).Assembly, store);

没有变化。在没有附加调试程序的情况下运行时,它实际上是即时的。我没有设置断点,没有手表,没有Intellitrace,只打开了我的代码…但有趣的是,当我点击pause时,我确实在调用堆栈窗口中看到了完整的Raven/Lucene调用堆栈…而不仅仅是“外部代码”…不确定这是否正常