Mac 下 Docker 运行 Laravel 程序很慢(PHP/Nginx)

本地环境:MAC docker(19.03.5) php(7.2) nginx

截取某次请求:

这个是线上的请求

线上请求很快,本地请求很慢,进来看详情,求解

这个是本地的请求
线上请求很快,本地请求很慢,进来看详情,求解

这个是本地php打印的日志

线上请求很快,本地请求很慢,进来看详情,求解

有没有大神给诊断一下

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 25
Summer

1. 关闭写入频繁的操作

是否安装了 Debugbar 并开启着?如果有的话关闭后再试试。

Mac 下 Docker 文件系统写入操作很频繁的话,速度会很慢,所以把写入的操作相关功能暂时关闭试试。

2. 打开 cache 标识

https://docs.docker.com/docker-for-mac/osx...

如:

docker run -v ./html:/var/www/html:cached nginx

docker-compose 的例子:

version: "3.4"
services:
  nginx:
    volumes:
      - ./html:/var/www/html:cached

或者试下 https://github.com/EugenMayer/docker-sync

参考:翻译:如何提高 Docker 在 Mac 下的文件读写速度?

4年前 评论
Summer

1. 关闭写入频繁的操作

是否安装了 Debugbar 并开启着?如果有的话关闭后再试试。

Mac 下 Docker 文件系统写入操作很频繁的话,速度会很慢,所以把写入的操作相关功能暂时关闭试试。

2. 打开 cache 标识

https://docs.docker.com/docker-for-mac/osx...

如:

docker run -v ./html:/var/www/html:cached nginx

docker-compose 的例子:

version: "3.4"
services:
  nginx:
    volumes:
      - ./html:/var/www/html:cached

或者试下 https://github.com/EugenMayer/docker-sync

参考:翻译:如何提高 Docker 在 Mac 下的文件读写速度?

4年前 评论

@Summer
谢大佬 加了 cache 标识后 速度提升了很多 从之前 1~2 秒 提升到现在的 400-500ms

至于那个 docker-sync 后面我再试试

file

4年前 评论

感谢大佬

加了 cached 标识后 速度明显提升很多 从之前 1~2 秒 提升到现在的 300-400ms

配置 docker-sync 后效果没有 cached 标识明显,而且很不稳定。大多数执行时间在 500-600ms,有些执行在 800-900ms

docker-sync 和 cached 标识一起使用,执行时间同单独设置 docker-sync 一样

file

file

4年前 评论

建议php使用系统自带的,这样执行composer和安装扩展也会方便很多,如果nginx用的也是docker的话,可以更改fastcgi_pass,使用宿主机的php

fastcgi_pass docker.for.mac.localhost:9000; 
4年前 评论
j475523225 (楼主) 4年前
Lingkong (作者) 4年前
j475523225 (楼主) 4年前

@Summer @j475523225 加了 cache 后速度是提升了; 但是容易出现宿主机和 docker 中的代码不一致的问题; 调试起来会被折磨到怀疑人生; 还是 nfs 保平安吧;

4年前 评论
Summer 4年前
白俊遥 (作者) 4年前
Summer 4年前
j475523225 (楼主) 4年前

换 Ubuntu 吧 :grin:

4年前 评论
ouer1994 (作者) 4年前
j475523225 (楼主) 4年前
j475523225 (楼主) 4年前
ouer1994 (作者) 4年前
j475523225 (楼主) 4年前
ouer1994 (作者) 4年前

我 Mac 直接用 Valet

4年前 评论
j475523225 (楼主) 4年前

15款13的mbp(8+256)和i5-7500的黑苹果(16+256),同一套代码,前者都是600ms以上,黑苹果都是100ms左右,也是很懵

4年前 评论
j475523225 (楼主) 4年前

各位大佬,我Nginx加了cached后还是得1s,没明显的提高,请问下还有什么解决方法吗

2年前 评论

我去,为啥我的docker下laravel需要十几秒,要崩溃了,同样的环境部署的tp的接口,只要几百微秒。。。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!