刚安装的Laravel,只输出一句话,为什么需要两秒多才能返回结果?

laravel在只输出一句话的情况下,需要两秒多才能返回结果。

本地环境是用Docker for Mac安装的php7, laravel版本是5.7

这是用debugbar 查看的结果

图片描述

这是php-fpm的慢日志

图片描述

阅读 4.4k
3 个回答

问题已解决,谢谢各位。
@to2false 的回答是正确的,问题出在Mac的volumn上,Mac上的容器请求主机的文件会有短暂延迟,而laravel即便只输出一句话也会加载上百个文件,这就导致laravel运行时间非常长,有时需要5s以上才能返回结果,简直不能忍。

最简单的办法是使用缓存,在-v参数后面添加:cached参数即可,例如:

docker run --name php71 -d -v /workspace:/workspace:cached php:7.1-fpm

cached参数的作用是把主机的文件缓存到容器中,容器会使用内部的缓存而不是主机上的文件,就不会出现问题了。

mac的docker volumn挂载有IO问题,这个问题谷歌一下,有一堆解决方案

你可以把路由缓存和配置缓存开启再试试。
每次请求都会重新加载配置文件和路由配置,可能会慢。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题