第一次海報很容易在我身上。WCF - WebHttpBinding - RESTful - Performance Issue
我目前正在嘗試解決性能問題,當一分鐘閒置時間後點擊我的Web服務時。就在用戶沒有擊中網絡服務的一分鐘後,下一次呼叫在實際觸及服務操作之前需要15秒。如果你繼續隨機(不同的服務操作,所以你們不認爲這是「緩存」調用)服務操作立即調用服務返回(不到一秒)。
這裏有一些「計時」我決定採取所以你可以看到我是如何來到活動的一分鐘:
- 14:04
- 下午2點16分--15秒
- 下午2時21 --15秒
- 下午2時24分--15秒
- 2:25 PM --15秒
同樣,如果您在沒有一分鐘不活動的情況下連續點擊Web服務,則所有方法都會在不到一秒的時間內返回。
下面是關於我的web服務的一些細節:
- WCF,的WebHttpBinding,REST風格的,使用HTTPS。
- 基本認證+使用IDispatchMessageInspector的自定義認證。每次調用都會進行身份驗證(Initializer.aspx頁面除外)。
- 自定義Initialization.aspx頁面已創建,在應用程序池回收後每晚調用。該頁面緩存了所有用戶使用的一系列全局數據,並開始編譯。
- 應用程序池僅在每天凌晨2點進行回收。工作線程永遠不會被關閉,因爲超時被禁用。
我聽說過,但的ReliableSession的設置意味着聽起來像它只會爲PerSession,不PerCall工作。
有沒有什麼辦法可以解決這個問題,還是我堅持採用虛擬服務操作每45秒對服務器執行一次「ping」操作?