每页加载的TTFB延迟

问题描述

这很可能是一个过于宽泛的问题,无法回答,但是任何想法都将是非常有益的。我有一个网站,在一种环境中加载时间非常慢,而在另一种环境中加载时间却非常慢。通常,大多数页面上到第一个字节的时间约为15秒。在整个应用程序的每个页面上花费的时间很长,而不仅是第一次加载时。我已经对问题进行了数天的故障排除,并完全感觉到延迟的真正原因。

ttfb waiting time

现在要对该问题进行详细说明。

环境是来自不同来源的科学怪人怪兽,据我所知,那里有太多人举起手来。我已经花时间比较两种环境中的每一种,并且没有发现关键的区别。这里有很多事情在起作用,但是我可以总结一下主要组成部分。

这是一个使用Orchard CMS在IIS中运行的.NET Web应用程序,具有sql Server后端。一个专用服务器托管数据库,另一个专用服务器托管Web应用程序本身,这是非常标准的。环境之间的主要区别是生产站点在Liquid Web中运行,而新开发站点在AWS中运行。基本上,一旦解决了延迟问题,该站点最终将最终迁移到AWS。

AWS有足够的资源。实际上,由于cpu使用率几乎达到极限,生产(Liquid Web)到最近已出现问题。 AWS中有更多的资源,两个服务器似乎都没有使用超过其可用资源的1%或2%。我验证了这一点。

如果问题出在数据库之内,我不太确定还有什么地方。我使用数据库服务器上的sql Server Profiler来分析流量,除了Audit Logins / Outs(根据我的研究,这是正常行为)之外,没有事务花费超过半秒钟的时间。尝试导航到站点内的页面后,几乎立即执行主数据库查询,而不是在页面加载后的15秒后执行

我认为AWS应用程序服务器和数据库服务器中的网络流量可能会出现瓶颈。但是,在本地解析应用程序不会提高性能。我以为这可能是域内路由的问题,例如DNS的设置方式,但似乎并非如此……或者也许不是,我只是没有找出解决该问题的最佳方法。无论哪种方式,在localhost上解析应用程序都不会提高性能。该页面仍然挂起15-20秒。

cpu usage on database server

cpu usage on web server

站点的应用程序池和认应用程序池的vRAM使用情况肯定会出现高端,如果有所作为的话。

vram usage

我浏览了IIS日志,找不到任何明显的内容。当然,我在IIS中没有太多经验,可能会缺少一些东西。 Windows事件日志也没有显示任何异常。关于未安装打印机驱动程序,Liquid Web和AWS都有一些错误,但与应用程序本身无关。

printer driver errors

我不确定如何检查它是否与Orchard CMS有关。当然,这只是一个程序包/框架,直接与应用程序本身一起迁移到了开发服务器中。我发现环境中没有任何变化。

事实是,这两种环境看似相同,但根据我似乎无法识别的某些因素,一种环境的运行速度非常慢。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...