我有一个web应用被托管与公共托管公司,该网站尚未上线,我仍然做了一些测试它。我使用NHibernate与温莎城堡容器依赖注入和该网站似乎是应对不时很慢。我已经联系支持,但他们说,这是我的应用程序没有自己的服务器。有没有人有基于ORM的网站类似的性能问题,公众的托管公司托管被当?

此外,你会推荐托管网站什么的托管公司?我试图GoDaddy的,但不能使用它们因为他们不允许运行在目前显然需要NHibernate的完全信任的网站。


我配置的nHibernate使用XML配置文件,以下面的方式打开会话:

using (ISession session = _sessionManager.OpenSession())
{         
ICriteria crit = session.CreateCriteria(typeof(Content));
   return crit.List();
}

另外,在我Application_Start有以下代码:

private static WindsorContainer container;
if (container == null)
   {
     container = new WindsorContainer(new XmlInterpreter(filePath));
      Application[Constant.CastleWindsorAppKey] = container;
    }
有帮助吗?

解决方案

您不知道您的应用程序是如何缓慢,当你不衡量它。我使用的是定时HTTP模块在开发过程中快速发现大的性能问题。 当你的页面加载一个缓慢的,你应该使用一个分析器来找到确切的瓶颈。我使用NHibernate我目前的项目,我没有任何性能问题吧。我最复杂的查询涉及的10个不同类别,并用自己的NHibernate映射一个复杂的对象图需要0.082秒执行。主要瓶颈在该申请中被渲染的HTML模板ASPX到响应(即花费0.5秒)。问题表现在数据访问经常,但除非你衡量它,你不能确定。

其他提示

无需做任何仪器你只是猜测。您需要环绕你的来电分贝定时代理。然后记录每次通话的时间花费。如果这是被消耗你的时间,那么你必须进行必要的信息。

假设你使用的是共享的主机环境中,它可能不是你的应用程序。我已经看到了完美的罚款代码磨到一个共享的主机上停了下来。我所知道的唯一的解决方案共享主机的问题是某种管理应用主机的,得到一个虚拟专用服务器(管理或没有),或专用服务器框。这种类型的服务比共享主机更昂贵。

至于Windows主机的建议,我很抱歉,我没有任何。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top