2011-05-16 27 views
2

我使用Lucene.Net進行搜索的網站隨着時間的推移逐漸變慢。我已經設置了IIS以1.5GB的容量回收應用程序池。隨着時間的推移,ASP.NET應用程序越來越慢使用Lucene.Net

回收後,應用程序又快了。

什麼是診斷搜索的哪些部分導致問題的最佳步驟?

值得注意的是,這絕對是導致問題的搜索,因爲它只是應用程序的這部分緩慢。普通頁面可以正常加載,無論時間如何。

+0

與此同時,您可以更頻繁地回收,以便您的用戶不會注意到。 – 2011-05-16 21:38:24

+0

您正在使用哪個版本的Lucene? – Kane 2011-05-16 21:44:37

+0

@Kane 2.9.2.2是版本 – izip 2011-05-16 21:53:53

回答

0

如果你已經分析了你的搜索代碼,它太複雜或者不太明顯,速度有多慢,我會先運行性能監視器(perfmon.exe)並記錄結果。查看CPU使用率,內存,磁盤隊列,ASP.Net特定計數器(請求排隊,請求/秒)和CLR計數器(管道實例計數,拋出異常,上下文切換/秒等)中的更改。

一旦你可以把一些看起來不尋常的事情(隨着時間的推移而不再受到檢查)加入,你可以開始縮小任何代碼問題。

+0

不能在搜索代碼中找到任何東西,因此頭部有劃痕。 使用perfmon,我究竟會在找什麼?我在應用程序中記錄所有異常,所以我不認爲有bug,只是一些未發佈的對象或類似的東西。 會使用類似點追蹤的東西是一個更好的工具? – izip 2011-05-16 21:40:45

0

您是否在大更新後優化您的索引?這可以真正提高性能。

+0

我發現了什麼導致它。這是綁定我的過濾器/方面。 我診斷它是通過創建一個腳本來請求頁面100次,然後逐個刪除組件並觀看IIS應用程序池中的內存。一旦我刪除了方面,它很好。只需要現在以不同的方式做到這一點,一切都會很好! – izip 2011-05-17 16:45:01

相關問題