【问题标题】:web page, can check speed each sql running on it网页,可以检查其上运行的每个 sql 的速度
【发布时间】:2016-09-13 04:58:41
【问题描述】:

我的网站有问题,其中一个页面速度很慢。 我使用Wampsever 2.5Apache 2.4.9PHP 5.5.12window 7。 我想知道的是。

  1. 我们可以为网页加载时进行任何配置吗?
  2. 我们能否获得在此网页上运行的所有查询的时间速度/或者可以告诉此页面速度时间加载什么(查询/js/css/执行代码的过程)?

我们可以在日志上看到,太慢了

【问题讨论】:

  • 您可以使用任何浏览器中的开发人员工具来检查客户端加载的性能,对于服务器端查询,您可以使用 xdebug 之类的扩展程序或有关查询的简单文件日志记录

标签: php apache performance webpage pagespeed


【解决方案1】:

首先,您需要通过控制台检查您的网站是否因资产而变慢。 Google Pagespeed 会为您提供改进建议。

然后,如果您想检查服务器端发生了什么,您可以使用该出色的工具跟踪您的代码

https://blackfire.io

您将很容易看到每个 PHP 方法的持续时间。

对于您的 MySQL,您可以启用慢查询 http://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html

【讨论】:

    【解决方案2】:

    我怀疑你有缓冲问题。如果您不刷新缓冲区,PHP 在脚本完成之前不会发送字节一。

    这就是我几乎总是启动 PHP 页面的方式。我发现“ob_gzhandler”是必需的,否则服务器的 gzip 处理程序会忽略刷新。

    <?php   ob_start("ob_gzhandler");
    header('Content-Type: text/html; charset=utf-8');
    header('Connection: Keep-Alive');
    header('Cache-Control: max-age=2592030');
    echo <<<EOT
    <!DOCTYPE html><html lang="en">
    <head>
    <title>Template</title>
    <style type="text/css">
    <style>
    </head>
    <body>
    

    在第一次刷新之前,您可以在任何计算 PHP 之前放置尽可能多的 HTML。

    EOT;
    ob_flush();
    

    一旦执行了 ob_flush,在刷新之前的 HTML 就会被传输到浏览器。

    如果 PHP 代码在循环中生成大量 HTML,则可以在生成每个 HTML 块后在循环中插入 ob_flush。

    【讨论】:

      猜你喜欢
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多