windows-server-2008 – 随着时间的推移,响应时间会变慢,从何处
当我提起这件事时,我的IT人员只是耸耸肩膀,所以我转向SE寻求帮助. 我认为这张图片最好. 很简单,随着时间的推移,响应时间变得越来越糟,直到午夜某个时候发生了一些事情并且它几乎恢复到正常状态.我们在IIS上,这个页面恰好仍然在Classic ASP中,但这种情况发生在所有页面上,甚至是普通的HTML页面,我认为它排除了SQL连接问题. 我想我的问题是,我从哪里开始寻找?我经历了常规日志,没有看到任何跳出来的东西.但事情显然正在发生,我不知道从哪里开始. 有许多事情可能导致这种情况 – 不幸的是,我们可能需要更多信息.在我进入实际响应之前,只需在HTML页面上快速查看一下:一般来说,应用程序池一次只能响应一定数量的请求.如果它忙于响应对动态页面的请求,那么它可能没有任何线程来为静态页面提供服务.出于这个原因,动态页面上的代码问题可能会产生静态页面“缓慢”服务的错觉.我的观点是,不排除代码或SQL. 例如:如果您有100个页面同时点击数据库或API,并且所有100个页面都在等待响应,则可能会阻止请求101直到前100个中的1个完成. 现在,您可以做很多事情来帮助您诊断此问题: >您的负载情况通常如何?这会产生很大的不同 – 可能是您总是遇到问题,但在您的网站实际收到负载之前,您无法看到影响.您可以尝试使用JMeter之类的东西测试它(在分段中). 更新 如果您有内存泄漏,重新启动应用程序池可能有助于解决问题,但您需要小心:可能会有一些不利影响.重新启动应用程序池后,应用程序将开始将静态对象加载到内存等.根据应用程序的复杂程度,这可能需要很长时间(可能需要5-10分钟或更长时间).在此期间,对服务器的请求可能会延迟,从而使问题显得更加严重. 如果您运行的是单个服务器,则在应用程序重新启动时,您的站点可能会暂时不可用(由于应用程序池正忙,无法响应请求).如果您在具有负载平衡器的服务器场中运行,则负载均衡器可能会在应用程序池重新启动时丢弃您的服务器,这可能会将所有流量定向到其他服务器并使其超载.不要同时在所有服务器上重新启动应用程序池,并在将服务器重新引入服务器场之前尝试“预热”应用程序池(通过模拟对服务器的请求). 换句话说:除非它肯定是内存泄漏的问题,否则可能不值得重新启动应用程序池,因为问题可能会立即重新出现. 注意:重新启动应用程序池不会影响当前正在运行的任何请求.这些将继续完成,除非您强行关闭应用程序池(例如Crtl Alt Del) (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |