前段时间用 Docker 配置了 web 的运行环境,但是发生了访问慢的问题。
单 php 文件速度还是很快,秒加载。只要打开 Laravel 服务,就跟蜗牛一样,最快都要三秒。
做了很多优化 opcache, compose-autoload-dump, config/view cache 速度提升并不明显。
今天看到文章说 Docker for Windows 跨系统访问目录慢,因为是通过网络协议进行访问的。
Laravel 程序需要加载 vendor 文件夹,这里面有大大小小的文件,相当于每个文件都要一次网络请求。
最终选择不挂载 vendor 目录,使用 存储卷来保存 vendor 的 文件
volumes:
- /mnt/d/code/app:/app
- vendor:/app/vendor
最终加载时间控制在了 1s 以内。