我有一个使用nhibernate和SQL服务器的asp.net-mvc3网站。我有2个加载平衡的Web服务器。这是一个读取繁重的数据库(不太关心写入性能),但随着查询变得越来越复杂(许多表连接),它的性能大大降低。
根据我读到的评论,最大的胜利就是将分布式缓存放在前面。我在windows上查看了支持nhibernate和I found NCache Express的免费选项。我显然会做一堆测试和玩游戏,但我想看(在我浪费了很多时间之前),如果这个快速版本在可行的解决方案方面会限制我。我在这里看到版本比较,我认为我没有看到任何阻止者,但是希望得到任何已经使用nacheernate使用NCache Express的人的反馈,看看是否有任何问题。
另外,如果有替代产品的建议可以更有效地解决这个问题,那也很好。
答案 0 :(得分:1)
如前所述,您应首先优化数据库,但当然您已经在这样做了。
我还在一个有2台服务器的网站上工作,在选择缓存提供商的过程中,我已经与MemcacheD达成了协议。它非常强大,设置非常简单。 NCache Expresse也可以正常工作,没有任何误解,但我建议使用Memcache,因为NCache express有2个服务器限制,所以如果你需要添加一个aditional节点,你还是必须改变。
此外,如果你的服务器有Windows 2008,你应该检查微软的AppFabric,这是非常好的。
答案 1 :(得分:1)
使用它来评估NCache提供的功能,例如: SQL依赖项和东西 http://www.alachisoft.com/ncache/edition-comparison.html
除此之外,我认为你不需要升级
关于替代方案,我还没有使用过很多,所以我不能在这方面说些什么:)
PS:复制对于读取密集型应用程序非常有用,对写入密集型应用程序也不好。
答案 2 :(得分:0)
您可以尝试将appfabric作为nhibernate二级缓存。您应该在不同的服务器上运行它到您的应用程序节点。
答案 3 :(得分:0)
你试过吗,Microsoft Velocity?