我可以将NHibernate用于100-300或300-1000(可能在将来)用户在线的Web应用程序吗?我怎么知道NHibernate是否适合我的应用程序?
答案 0 :(得分:1)
当然可以。但是使用自身的框架并不能保证您的应用程序能够快速执行。
如何构建高性能应用程序有一些架构原则,但我最喜欢Event-Driven architecture和CQRS。虽然它可能对您的系统来说太过分了,但您不想构建分布式应用程序。在这种情况下,我建议您使用单个节点使用一些CQRS原则 - 仍然单独从写入读取并使用ConcurrentQueue而不是消息传递框架。并且您将能够非常快速地分发您的应用程序。你也可以看一下Lokad.CQRS。 确保NHibernate可以与他们合作使用。
NHibernate是一个非常复杂的框架,它有很大的学习曲线。因此,如果您现在不熟悉NHibernate,我建议您使用NHibernate profiler
答案 1 :(得分:1)
它当然可以处理这些数字。问题是,恕我直言,用NHibernate(或任何其他ORM)制作不合适的代码太容易了,特别是关于SELECT + 1问题,一些生成SQL等等。
无论如何,正如xelibrion建议的那样,使用 NHibernate Profiler 。你应该很容易发现你的botlenecks并解决它们。
您还提到了NHibernate二级缓存,它运行得非常好,应该可以帮助您的应用轻松扩展,并对分布式缓存或更简单的方案提供良好的支持。