Memcache和ASP.NET运行时缓存

时间:2012-12-15 12:45:37

标签: asp.net caching memcached

我有一个使用依赖注入的Web应用程序,允许我在缓存实现之间轻松交换。我目前正在使用asp.net运行时缓存,但现在需要将Web应用程序分布在三个Web服务器上。我已经构建了一个Memcache的实现并且已经测试了它并且它可以工作,但是我对速度不满意。我相信原因是因为序列化和反序列化。关于如何加快速度,我感到很茫然。

我可以 -

  • 保留并希望用户体验不会变得糟糕
  • 使一些数据使用运行时缓存,一些数据使用memcache
  • 弄清楚如何提高memcache的性能

P.S。我试图避免使用proto-buf进行序列化/反序列化,因为我不想用属性装饰我的整个域(或者我应该?)

建议?

1 个答案:

答案 0 :(得分:0)

那么你怎么知道它变慢了?或者你怎么知道它是序列化?

我最近在性能优化方面花了很多时间,在提出解决方案之前我必须说你需要首先根据事实 来探讨问题

  1. 建立没有memcached的基线基准
  2. 使用memcached运行相同的基准测试并比较
  3. 如果速度肯定较慢,请使用分析工具确定您的瓶颈究竟在哪里
  4. 确定瓶颈后,尝试隔离该区域的代码并在项目外创建一个独立的测试用例。然后尝试找出为什么需要更长时间并尝试不同的方法。 (我和其他人当时可以帮助你)
  5. 根据我的经验,序列化不应该那么慢。

    为了进行基准测试,您可以免费使用ab.exe或jmeter。