【发布时间】:2012-05-04 13:27:10
【问题描述】:
我有一个使用 nhibernate 和 SQL 服务器的 asp.net-mvc3 网站。我有 2 个负载平衡的 Web 服务器。这是一个读取繁重的数据库(不太关心写入性能),但随着查询变得越来越复杂(大量表连接),它的性能大大降低。
根据我阅读的 cmets ,最大的胜利是在前面放置一个分布式缓存。我查看了支持 nhibernate 和 I found NCache Express 的 Windows 上的免费选项。我显然会做一堆测试和玩,但我想看看(在我浪费很多时间之前)这个快速版本是否会在可行的解决方案方面完全限制我。我在这里看到了版本比较,我认为我没有看到任何阻止程序,但我想从使用 NCache Express 和 nhibernate 的任何人那里获得反馈,看看是否有任何问题。
另外,如果有替代产品建议可以更有效地解决这个问题,那也很好。
【问题讨论】:
-
在转向任何缓存解决方案之前,我强烈建议彻底优化 DB 端的事物(数据模型、索引、SQL 语句、查询计划)...使用分析器查找缓存中的任何瓶颈应用程序并采取相应措施...检查硬件(数据库服务器、网络性能等)。如果真的 ALL 都已优化并且您仍然对性能不满意,那么请检查缓存...
-
您是否尝试过使用 ASP.NET 的缓存机制缓存查询结果?还不够吗?在任何情况下,如果您需要大量的表连接,您可能在特定情况下使用了错误的模式。也许您需要对表进行非规范化以减少连接。
标签: sql-server asp.net-mvc nhibernate ncache