Performance 如何确定网站速度慢的原因?

Performance 如何确定网站速度慢的原因?,performance,web,slowdown,Performance,Web,Slowdown,我在一次采访中被问到这个问题: “假设您拥有一个网站,其中服务器位于某个远程位置。有一天,一些用户打电话/发电子邮件给您,说该网站速度太慢。您如何确定该网站速度太慢的原因?此外,当您像任何用户一样(使用浏览器)亲自检查该网站时,该网站表现良好。” 我只能想到一件事(被击落): 检查服务器日志以分析传入流量。可能是DoS攻击或异常高的流量。面试官让我假设服务器有正常的流量,没有DoS 我有点不知所措,因为我从未想过这个问题。我几乎不知道如何运行服务器/网站。因此,如果有人能突出一些方法,那就太

我在一次采访中被问到这个问题:

“假设您拥有一个网站,其中服务器位于某个远程位置。有一天,一些用户打电话/发电子邮件给您,说该网站速度太慢。您如何确定该网站速度太慢的原因?此外,当您像任何用户一样(使用浏览器)亲自检查该网站时,该网站表现良好。”

我只能想到一件事(被击落):

  • 检查服务器日志以分析传入流量。可能是DoS攻击或异常高的流量。面试官让我假设服务器有正常的流量,没有DoS
我有点不知所措,因为我从未想过这个问题。我几乎不知道如何运行服务器/网站。因此,如果有人能突出一些方法,那就太好了


在谷歌搜索时,我可以找到。这篇文章现在对我来说太技术化了,但我正在慢慢地分解和理解它。

这是一个很好的工具,可以找到网页的速度,并告诉你是什么让它变慢的:

通常,用户会将页面加载时间作为衡量网站速度的标准。但是,如果您真的想知道什么是最长时间,您可以按f12打开浏览器调试器。如果您的浏览器是chrome浏览器,请点击网络,查看您的应用程序正在进行哪些调用,以及哪些调用占用的时间最长。如果您使用的是Firefox,则需要安装firebug。如果您有,然后再次按f12键并单击网络

因为您已经说过,当您自己检查站点时,速度很好,这意味着(至少对于您检查的页面而言)服务器没有问题,并且可以以很好的速度为这些页面提供服务。此时,您应该弄清楚您和报告您的站点运行缓慢的用户之间的区别。可能有很多不同的事情:

  • 用户是否使用慢速网络连接(例如移动)
  • 用户是否在同一网络主机托管的其他网站上遇到同样的问题?如果是这样,这可能表明存在网络问题。正常情况下,这也可能表明Web服务器存在资源问题,但在这种情况下,站点对您来说也会很慢
  • 如果以上两种情况都不能给出答案,那么您可以假设与服务器的连接和服务器本身都正常。这意味着问题一定在用户设备中。找出他使用的浏览器/操作系统,并尝试复制问题。如果失败的话,找出他是否使用了任何可能导致问题的杀毒软件或类似软件

一个原因可能是用户的角色与您的角色不同。您可能拥有管理员权限(比如超级用户角色),而代码可能只是允许此类角色的所有内容,这意味着它实际上不需要执行很多条件检查来查看允许或不允许的内容。有时,获得用户的所有特权并进行条件检查是一个相当超前的过程,过程如何取决于授权是如何实现的。这意味着,对于特定角色,页面可能会非常慢。因此,您应该找出用户的角色,看看这是否是一个原因

显然是连接到您网站的人的连接问题,或者可能是暂时的问题,当您检查您的网站时,一切都很顺利。您可以检查日志或询问主机在发生减速时是否存在问题。

这通常是内存问题,可以通过增加承载应用程序的Web服务器的堆大小来解决。如果应用程序正在Weblogic服务器上运行。堆大小可以在应用程序主目录中的“setEnv”文件中增加。 祝你好运!
Michael Orebe

我认为上述答案中缺少的一个重要方面是服务器位置,它对web性能起着至关重要的作用

当有人说打开一个网页需要更长的时间,这意味着高延迟。由于服务器位置的原因,可能会导致高延迟。 假设您是网页的所有者,那么服务器和客户机位于同一位置,因此延迟较低

但是,现在如果客户端跨越边界,那么延迟时间将急剧增加。因此表现缓慢

另一个因素是缓存,它会严重影响延迟时间

以facebook为例,他们在世界各地都有服务器,以减少延迟时间(并提供其他一些优势),他们使用巨大的缓存系统来缓存热门数据(趋势主题),而冷数据(旧数据)存储在硬盘中,因此加载旧照片或帖子需要更长的时间。
因此,当用户试图加载一些冷数据时,可能会对此表示不满。

我可以想到以下几个原因(前面已经提到了前两个):

  • 由于客户端的位置而导致的高延迟
  • 可能需要增加服务器内存
  • 来自页面的服务调用数
  • 如果在投诉时服务可能关闭,则可能会阻止页面加载
  • 在体验不佳时,服务器负载可能过高。服务器可能需要增加资源(例如,向集群添加另一台服务器/web服务器)
  • 检查当时是否有任何后台作业在服务器上运行 检查批处理作业的日志和计划非常重要,以确定当时运行的是什么


    希望这有帮助

    虽然你的问题很清楚,但网站优化是一个非常广泛的主题

    由于某些原因,大多数流行的web开发框架的处理器效率极低

    开发n层web应用程序的老式方法仍然非常相关,并且仍然被认为是最佳实践