1

我有一个使用 nhibernate 和 SQL 服务器的 asp.net-mvc3 网站。我有 2 个负载平衡的 Web 服务器。这是一个读取繁重的数据库(不太关心写入性能),但随着查询变得越来越复杂(大量表连接),它的性能大大降低。

根据我阅读的评论,最大的胜利是在前面放置一个分布式缓存。我查看了支持 nhibernate 的 windows 上的免费选项,我发现了 NCache Express。我显然会做一堆测试和玩,但我想看看(在我浪费很多时间之前)这个快速版本是否会在可行的解决方案方面完全限制我。我在这里看到了版本比较,我认为我没有看到任何阻止程序,但我想从使用 NCache Express 和 nhibernate 的任何人那里获得反馈,看看是否有任何问题。

此外,如果有替代产品建议可以更有效地解决这个问题,那也很好。

4

4 回答 4

1

使用它来评估您需要 NCache 提供哪些功能,例如 SQL 依赖项和东西 http://www.alachisoft.com/ncache/edition-comparison.html

除此之外,我认为您不需要升级

关于替代品,我没有用过很多,所以在这方面我不能说什么:)

PS:复制非常适合读取密集型应用程序,不适合写入密集型应用程序。

于 2012-05-04T05:27:10.323 回答
1

如前所述,您应该首先优化您的数据库,当然您已经在这样做了。

我还在一个有 2 台服务器的网站上工作,并且在选择缓存提供程序的过程中,我已经使用MemcacheD解决了。它非常强大,设置起来非常简单。NCache Expresse 也可以正常工作,没有任何问题,但我建议使用 Memcache,因为 NCache express 有 2 个服务器的限制,所以如果你需要添加一个额外的节点,无论如何你都必须进行更改。

此外,如果您的服务器有 Windows 2008,您应该检查 Microsoft 的 AppFabric,它非常好。

于 2012-01-27T16:25:32.120 回答
0

你试过吗,微软速度?

http://msdn.microsoft.com/en-us/magazine/dd861287.aspx

于 2012-02-02T12:32:10.177 回答
0

您可以尝试将 appfabric 作为 nhibernate 二级缓存。不过,您应该在与应用程序节点不同的服务器上运行它。

于 2012-01-22T17:16:28.487 回答