我們正在使用帶有WCF後端的ASP.NET MVC構建外聯網貸款狀態檢查網站。它是MVC站點的一個非常標準的設計,使用WCF服務引用來獲取客戶對象。該服務使用Oracle後端+ http綁定,並且不會與MVC站點託管在同一臺服務器上(因此我們不能使用tcp綁定來減少延遲)。ASP.NET MVC/WCF站點和Oracle後端的性能問題
我們遇到的問題是每次調用服務都會導致7-8s的響應時間,這對於Extranet站點來說是不可接受的,並且比2s魔術標記高得多。服務方法調用12個存儲過程來創建客戶對象。不幸的是,數據庫非規範化(我們無法將其更改爲其他內部生產系統所使用的數據庫),因此大多數調用都是基本的選擇語句,它們填充了客戶對象及其關聯的對象。服務代理在MVC操作中正確地打開和關閉/處理,因此不存在任何服務連接泄漏的實例。爲每個請求創建一個新的客戶端代理(即,我們不使用服務的單例模式)。
任何想法我們如何加快這一點?
謝謝
謝謝大家的回覆。 我們發現了這個性能問題的解決方案。對於12個存儲過程中的10個,我們在索引字段上使用了LOWER oracle sql函數。一旦我們將其刪除,我們的服務響應時間從8秒降至2秒以內。 – fjxx 2010-02-16 16:48:24