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

Jef*_*eff 5 ravendb

我正在使用RavenDB版本2.0.3.0.附加调试器后,涉及RavenDB的所有操作都会非常慢.每个查询都需要几秒钟才能完成.

如果我在调试器刚坐在那里时按下暂停,我总是看到它挂起了以下调用跟踪:

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.QueryParsers.QueryParser.Jj_ntk()行1929年+ 0x1d字节C#Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParser .Clause(字符串字段)行1373 + 0x1d字节C#Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParser.Query(字符串字段)行1301 + 0xc字节C#Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParser.TopLevelQuery(字符串字段)行1287 + 0xc字节C#Lucene.Net.dll!Lucene.Net.QueryParsers.QueryParser.Parse(字符串查询)行223 + 0xf字节C#Raven.Database.dll!Raven. Database.Indexing.QueryBuilder.BuildQuery(查询字符串,Raven.Abstractions.Data.IndexQuery indexQuery,Raven.Database.Indexing.RavenPerFieldAnalyzerWrapper分析仪)线56 + 0xe字节C#Raven.Database.dll!Raven.Database.Indexing.Index.IndexQueryOperation .GetLuceneQuery(查询字符串,Raven.Abstractions.Data.IndexQuery indexQuery)线1120 + 0x1d字节C#Raven.Database.dll!Raven.Database.Indexing.Index.IndexQueryOperation.GetLuceneQuery()线1081个+ 0×28字节C#Raven.Database. dll!Raven.Database.Indexing.Index.IndexQueryOperation.Query()803行+ 0x26字节C#[外部代码] Raven.Database.DLL!Raven.Database.DocumentDatabase.Query.AnonymousMethod__8e(Raven.Database.Storage.IStorageActionsAccessor行动)线1220个+ 0x145字节C#Raven.Database.dll!Raven.Database.DocumentDatabase.Query(字符串索引,Raven.Abstractions.Data. IndexQuery查询)线1237 C#Raven.Database.dll!Raven.Database.Queries.DynamicQueryRunner.ExecuteActualQuery(Raven.Abstractions.Data.IndexQuery查询,Raven.Database.Data.DynamicQueryMapping地图,System.Tuple touchTemporaryIndexResult,串realQuery)82号线+ 0x32b bytes C#Raven.Database.dll!Raven.Database.Queries.DynamicQueryRunner.ExecuteDynamicQuery(string entityName,Raven.Abstractions.Data.IndexQuery query)第49行+ 0x15字节C#Raven.Database.dll!Raven.Database.Queries. 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.Abstractions.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.执行(System.Linq.Expressions.Expression表达式)行1398 + 0x3d字节C#

如果我在没有连接调试器的情况下运行,一切都表现得很好而且速度很快......我在昨天之前从未遇到过这个问题.

我正在使用带有DataDir =〜\ App_Data\RavenDB的EmbeddableDocumentStore.

我尝试删除RavenDB目录,但即使使用完全新鲜的数据库,Raven仍然一样慢.

知道什么是错的或我如何排除故障?

Aye*_*ien 1

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