我正在使用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.D atabase.Indexing.QueryBuilder.BuildQuery(字符串查询,Raven.Abstractions.Data.IndexQuery indexQuery,Raven.Database.Indexing.RavenPerFieldAnalyzerWrapper analyzer)第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 + 0x28字节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 actions)行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查询,Rav en.Database.Data.DynamicQueryMapping map,System.Tuple touchTemporaryIndexResult,string realQuery)第82行+ 0x32b字节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.Abstrac tDocumentQuery> .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_Data \\ RavenDB的EmbeddableDocumentStore。

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

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

===============>>#1 票数:1

如果您使用的是IntelliTrace,请将其关闭。 在例外设置中,标记Just My Code并且不要停止处理的例外。

===============>>#2 票数:0

我们有一段时间遇到同样的问题,直到我们发现我们在每个请求上创建索引(由于DocumentStore的IoC注册错误)。

我们确保每个应用程序初始化一次调用此行,并且缓慢消失:

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

  ask by Jeff translate from so

未解决问题?本站智能推荐: