【问题标题】:Decrease waiting time in a Laravel application减少 Laravel 应用程序中的等待时间
【发布时间】:2014-03-21 03:33:49
【问题描述】:

我正在开发一个使用Laravel 4.1 框架编写的PHP 应用程序。到目前为止,我每页只有几个 MySQL 查询,其中许多是使用 Redis 服务器尽可能使用 Cache 类缓存的。

目前我正在使用 Apache 2.2.24 和 PHP 5.4.17 使用内部(但不是 localhost)MySQL 数据库进行本地开发。

使用 Chromes 开发者工具,我正在检查 Network 标签以查看页面加载所需的时间等,但我看到了一些奇怪的结果。页面花费很长时间等待内容被提供,如下所示:

如您所见,new 页面需要 682 毫秒等待内容发送回浏览器。无论如何我可以改进这个吗?为什么 Laravel 的开销这么大?

除了我们用来简化 Entypo 使用的自定义 Facade 之外,除了 Laravel 附带的默认包外,没有其他额外的包。

有人知道如何改进吗?

【问题讨论】:

  • 您是否使用 PHP 分析器来查看占用最多时间的内容?我们使用了 NewRelic,这对查明慢速 SQL 查询和慢速代码很有帮助。他们提供 14 天免费试用。你也可以使用 XDebug 之类的东西。
  • 目前还没有,我希望这将是一个愚蠢的配置设置。 XDebug 是一个要安装的 PITA,但这可能是真正解决这个问题的唯一方法。
  • 如果可以的话,我建议您使用 NewRelic - 即使只是免费试用期。它确实提供了一些很好的见解 - 安装很简单(在 Linux 上)。数据会在 30 秒左右内返回到新的遗迹仪表板
  • 我们之前实际上已经使用过它们,但是用于 Node.js 应用程序,所以我们的免费试用已经结束,我们还没有能力支付它。不过谢谢!
  • 如果您使用此链接再次注册:newrelic.com/aws 您将免费获得标准 :-)

标签: laravel-4 developer-tools


【解决方案1】:

如果我是你,我会从 Composer 安装 Chrome Clockwork 扩展和 Laravel Clockwork 包。 Clockwork 为您提供了一个时间线,您可以在其中查看需要这么长时间的内容,以及一个数据库查询选项卡,您可以在其中查看每个查询的加载时间。

狩猎愉快(:

【讨论】:

  • 这对我们很有帮助!尽管我们并没有真正减少报告的等待时间,但我已经设法减少了我们正在执行的查询数量(感谢急切加载),现在我们可以轻松地在整个代码库中记录。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
相关资源
最近更新 更多