【问题标题】:Check the cause of slow loading time among different server检查不同服务器之间加载时间缓慢的原因
【发布时间】:2016-03-29 11:13:18
【问题描述】:

使用perstashop开发了一个网店,放到三台服务器上:

前2个是amazon,应该是一样的设置

服务器 1: http://be-pure.com/en/women/3-slim-y-tank.html

服务器 2: http://52.77.216.83/en/women/3-slim-y-tank.html

最后一个只是本地托管

服务器 3: http://internal001.zizsoft.com/be_pure/en/women/3-slim-y-tank.html

问题是服务器 1 加载速度比其他两台服务器慢,但性能应该是 3 台中最好的。

看起来好像服务器 1 没有缓存文件

但其实他们都有

开启 smarty 缓存,使用文件系统,修改时重新编译 和 打开文件系统缓存

鉴于代码和服务器设置相同,两个亚马逊服务器设置相同,本地主机一个是其他服务器,但它应该比服务器 1 慢

1) 如何调试/检查文件是否已经在使用缓存?

(缓存文件位于服务器的cache/smarty和cache/cachefs中)

2) 服务器 1 的加载时间长的原因是什么?把它当作一个 PHP 站点,有什么方法可以检查它为什么慢?

非常感谢您的帮助

【问题讨论】:

    标签: php html optimization prestashop prestashop-1.6


    【解决方案1】:

    请参阅 cmets - 我误解了我之前查看的数据。看起来服务器一次只能处理 5-10 个请求,所以事情会被阻塞,直到其他事情完成加载。您可能只需要更新 Web 服务器的配置来处理更多请求。

    文件里还有很多JS数据。仅加载页面就需要 318KB,它必须执行许多请求才能获取 JS/CSS 文件,然后才能访问任何 HTML。所以它是 318KB + 它需要获取的所有外部 JS/CSS(哇!)。这就像 4MB 的东西只是为了加载一个页面。

    检查缓存系统生成的文件上的修改时间戳,以验证缓存是否正常工作。

    编辑:

    由于现在有赏金 - 请查看我们的评论讨论。存在一个跟踪路由无法到达服务器目的地的问题,我怀疑这与速度慢有关,但这种类型的网络问题超出了我的想象。

    【讨论】:

    • 我想我可能已经在 zopim 事情上开枪了,但仍在调查它....但是,无论如何,检查你的 httpd.conf 它可能没有为它的所有请求生成足够的子进程越来越……有点过头了哈哈
    • 另外,只需在此处运行您的网站:tools.pingdom.com/fpt 您可以轻松看到加载该网站的大小为 5-6MB(哇)。瓶颈在于它试图提供的文件太多但无法处理。
    • server1 没有同时处理这么多的请求并阻塞。可能您的 Web 服务器的配置需要更新,以便它可以同时处理如此多的请求。
    • 我确定我对 zopim 的看法是错误的 - 很抱歉在这方面误导了您。
    • Google 的 PageSpeed Insights 也提供了一些有趣的见解...developers.google.com/speed/pagespeed/insights/… server1 的 CPU 使用率是多少?
    【解决方案2】:

    我正在回答你的第二个问题。

    我不知道加载缓慢的确切问题。但是我们在上个月的一个项目中遇到了同样的问题。服务器是亚马逊。

    我们的一个实例非常慢。我们尝试了许多解决方案,但都没有奏效。然后我们找到了一个看起来很不公平但对我们有用的解决方案。

    我们刚刚重启了慢速实例,我们获得了成功。

    我希望这个解决方案也对你有用。

    一切顺利:)

    【讨论】:

      【解决方案3】:

      问题1的答案: 您可以使用 chromes developer 工具、F12,然后使用网络选项卡。它会显示所有正在下载的文件,在大小列中,您可以找到它是否从缓存中加载。
      回答问题2: 您可以使用 chrome 的 YSlow 插件。它会对你有很大帮助,但很明显你的网站有太多文件; css、js和大量图片;尝试合并您的 css 和 js 文件并为您的图像使用图像映射。 希望你能解决你的问题

      【讨论】:

        【解决方案4】:

        没有人能明确回答服务器出了什么问题。但是您可以通过分析找到它。如果您有预算,我强烈建议您购买分析工具“Tideways.io”、“Blackfire”或“New Relic”。我使用了New Relic,它确实有助于找到瓶颈。如果您没有预算来获得分析工具,您可以使用 php 分析扩展 Xdebug。它也很有帮助,但是读取 xdebug 的分析输出可能有点困难。但它的设置非常简单,您可以使用“xdebug profile trigger”进行部分分析(您可以分析您想要的 url),而不是分析所有请求。

        【讨论】:

        • Prestashop中有一个prolifing工具,你可以在defines.inc.php中的dev模式下使用define('PS_DEBUG_PROFILING', true);
        【解决方案5】:

        使用这个 google 可靠的工具来深入了解您的页面性能。

        https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fbe-pure.com%2Fen%2Fwomen%2F3-slim-y-tank.html.

        同时检查 server1 是否匹配 server2 配置。

        这个工具向我展示了许多改进您网站的建议。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-06-14
          相关资源
          最近更新 更多