2012-12-15 69 views
0

我有一個使用依賴注入的web應用程序,允許我輕鬆地在緩存實現之間進行交換。我目前正在使用asp.net運行時緩存,但現在需要將Web應用程序分佈在三個Web服務器上。我已經構建了一個Memcache的實現,並且已經對它進行了測試並且可行,但我對速度感到不滿意。我相信這是因爲序列化和反序列化。我對如何加快速度感到不知所措。Memcache和ASP.NET運行時緩存

我能 -

  • 離開它,並希望用戶體驗不會變成可怕
  • 使一些數據使用的運行緩存和一些數據使用的memcache
  • 圖如何改善memcache的性能

ps我試圖避免使用proto-buf進行序列化/反序列化,因爲我不想用屬性裝飾我的整個域(或者我應該?)

建議?

回答

0

那麼你怎麼知道它比較慢?或者你怎麼知道它是序列化?

我最近花了很多時間在性能優化,並提出解決方案之前,我必須說,你需要根據確鑿的事實首先探討問題

  1. 建立基準指標沒有memcached的
  2. 與memcached的運行相同的基準測試和比較
  3. 如果它肯定是慢,使用分析工具來建立哪兒是你的瓶頸
  4. 之後,你有確定了您的瓶頸,嘗試隔離該代碼區域並在您的項目之外創建一個獨立的測試用例。然後嘗試找出爲什麼需要更長時間並嘗試不同的方法。 (我和其他人可以幫助你當時)

從我的經驗,序列化應該不會那麼慢。

爲了進行基準測試,您可以使用ab.exe或jmeter兩者都是免費的。