繁体   English   中英

Web App性能问题

[英]Web App Performance Problem

我有一个网站,每5或10个请求就会挂起一次。 当它起作用时,它会快速运行,但是如果您离开浏览器几分钟,然后单击一个链接,它将挂起而没有响应。 用户必须在浏览器中推送刷新几次,然后它才能再次快速运行。

我正在IIS 7.0(Windows Server 2008)上运行.NET 3.5,ASP.NET MVC 1.0。 该Web应用程序连接到在同一实例上本地运行的SQLServer 2005 DB。 该数据库大约有300 Meg的RAM,其余的对于我假定的Web请求是免费的。

它托管在GoGrid的云服务器上,该实例具有1GB RAM和1个Core。 我意识到还不多,但是目前我是唯一使用该网站的人,但我仍然收到这些问题。

我知道要进行故障排除很困难,但是我希望有人可以为我指出正确的方向,以解决可能的IIS配置问题,或者每1000个用户使用这些技术的“大致”平均硬件要求,等等。也许对于网络服务器,我至少应拥有2个核心,这样,如果繁忙,您仍然会得到响应。 也许斜杠人们是对的,我是使用Windows时代的白痴,大声笑。 以我的经验,这通常是MY算法/配置错误,而不是底层技术的错误。

任何见解都表示赞赏。

您可以使用哪些诊断? 您能说出用户首次按下按钮时会发生什么吗? 您的应用程序是否看到了该请求,然后花了很长时间来处理它,还是有一个延迟,然后您的应用程序开始运行并像以往一样快地工作? 还是第一个请求完全迷失了?

我的猜测是正在发生某种分页,我相信Windows倾向于养成习惯,将最近未使用的应用程序移开,然后再重新分页。这是否发生在您的应用程序或数据库中,或两者?

作为实验-如果您的应用程序中有一个小巧的“ howAreYou”页面,会发生什么。 是否进行最小的工作量,例如从数据库获取使用计数并显示它。 大约每分钟有一个小小的监视客户端访问该页面。 随时间衡量效果。 尖峰? 一致性? 活动的存在是否会保持您应用程序的存在并防止分页?

另一个想法:您依赖任何缓存吗? 您在该缓存上有任何老化吗?

您的应用程序池可能由于不活动而关闭。 每个池都有一个空闲超时设置,以分钟为单位(在“池高级设置-流程模型”下 )。 应用程序一旦关闭,将需要一些时间才能再次启动。

当然,可能只是像其他人建议的那样进行虚拟化,但这值得一试。

该网站是否获得了大量流量? 如果是这样,我会寻找优化不佳的查询或正在循环的查询。

假设您的总体流量相对较低,那么配置听起来不错。

到许多数据库连接而没有被释放? 连接某些导致超时的服务/组件? 资源释放不良? 网络流量? 循环查询还是代码逻辑?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM