在我最近的項目中,我必須編寫一個Web服務API來從數據庫返回數據。使用Redis來擴展Web服務
科技股是 - SQL服務器08 R2 - WCF
的數據是主要的鍵 - 值對,例如獲得用戶X最喜歡的顏色。
負載不是很大,但也不小 - 在高峯時約爲1,000個請求/秒。
我最初的想法是使用Redis作爲緩存,這意味着我們不會像往常一樣擊中SQL Server。然而,我一直在試圖從這個配置中獲得一些基準測試等,這並不是很好,這讓我懷疑Redis是否真的會爲我的問題提供任何好處!
建築是 - 單獨的數據庫服務器 - WCF應用服務器 - IIS - Linux的服務器的Redis
當我的桌面上打轉轉,在20K〜OPS /秒Redis的基準。好東西。
但是,由於每次調用都將通過Web服務,所以當我放置WCF層時,我只能獲得300次操作/秒。不是很好。無可否認,Web服務客戶端,Web服務和數據庫都位於同一臺機器上,因此可能會導致結果偏差!另外,當移動到真實環境時,網絡延遲將是一個主要因素。
我無法以任何方式對這些請求進行批處理。
所以 - 我的問題 - 我都是使用Redis作爲緩存 - 我知道我應該在這種情況下使用緩存 - 但由於我無法將Redis與我的Web服務放在同一個盒子上那麼會不會網絡延遲殺死性能?
任何建議非常感謝!
鄧肯