【问题标题】:Monitor certain webpage load times (including all images, css, etc..) using PHP使用 PHP 监控某些网页加载时间(包括所有图像、css 等)
【发布时间】:2012-08-15 14:53:57
【问题描述】:

这是一个非常广泛的问题,所以我只是在寻找最好的方法。

我想定期监控我网站上的某些页面。

我正在寻找编写一个 PHP 脚本来加载页面,就好像它正在浏览器中加载一样。这意味着,它会加载所有 CSS、Javascript、图像、视频等。

我只想获取这些页面的加载时间,然后通过crontab 将结果通过电子邮件发送给我自己。为此,我打算使用microtime()phpMailer

有谁知道加载完整页面的脚本,或者对如何进行此操作有任何建议?

谢谢。

【问题讨论】:

  • 我可以想象你想要做什么,但请记住 CSS 和 javascript 可能会导入自己的资源。你也想异步获取结果吗?以这种方式测试网站性能非常不准确。
  • @KingCrunch 老实说,我愿意接受任何和所有解决方案。我只是想测试网站上某些页面的性能。我想在 cron 作业中放置一个脚本,如果加载时间达到某个点,我会通过电子邮件收到警报。关于如何做到这一点的任何建议都会很棒:)
  • 我同意。特别是如果 php 脚本正在网络服务器本身上运行。如果你的大部分内容都被拉到本地,结果会很不现实。
  • 你可以使用像 cronolog 这样的日志旋转器。或者您可以变得超级酷,并将您的 apache 日志输出通过管道传输到一个 php 脚本,该脚本除了观察高负载时间然后发送电子邮件之外什么都不做。
  • @tubaguy50035 听起来很酷,我想看看它

标签: php monitoring


【解决方案1】:

如果页面有动态内容怎么办?您还需要执行所有 JavaScript 并获取所有 CSS 图像以获得最终时间。我相信仅使用 PHP 是不可能的。

【讨论】:

    【解决方案2】:

    您从托管站点的同一服务器运行的 php 脚本会给您异常读数(非常低),因为它本质上是在第一跳加载的。您真正想要做的是从您自己之外的各种服务器上运行脚本。 php 可以看到的内容也有限制,即 JS 和 JQuery 等。

    最简单的方法是在您的家用电脑上使用 jmeter 进行检查。您将家庭浏览器设置为将其用作代理并转到您想要的任何网站。 Jmeter 将记录统计数据。当您感到高兴时,您可以选择保存统计数据。

    这样就避免了通过脚本处理JS和JQuery的问题。

    【讨论】:

    • JMeter 也可以在控制台启动,这意味着它可以从 PHP 脚本运行 :)
    • @Tim 酷。虽然我从未尝试过,但很高兴知道它也具有该功能。
    【解决方案3】:

    这可能会变得非常复杂。你基本上必须解析 HTML,然后有大量的边缘情况,比如 JS,包括资源等......我绝对建议使用 Chrome 开发工具的网络选项卡之类的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      相关资源
      最近更新 更多