You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Apple M1 Max上Laravel Sail的migrations与seeders运行过慢问题

M1芯片Mac Laravel Sail 迁移与填充性能问题解决方案

2021款M1芯片Mac的用户大量存在相同问题,并非个例。该问题核心瓶颈几乎都来自Docker for Mac的挂载卷IO性能损耗,和数据库的ARM架构适配关联度很低,之前调整的platform参数、更换ARM版MariaDB自然不会有明显效果。

以下是可落地的优化方案:

  • 替换数据库数据目录的挂载方式,取消直接挂载本地宿主目录,改用Docker命名卷存储,修改docker-compose.yml中mysql服务的volumes配置即可,示例如下:
# 原有性能较差的绑定挂载配置
mysql:
  volumes:
    - ./docker/mysql/data:/var/lib/mysql

# 改用Docker命名卷后的配置,IO性能提升明显
mysql:
  volumes:
    - mysql_data:/var/lib/mysql

# 根级新增volumes声明
volumes:
  mysql_data:
    driver: local
  • 开发环境临时调整Mysql运行参数,在mysql服务的environment节点添加以下配置,可大幅降低事务提交的IO开销:
    • innodb_flush_log_at_trx_commit=0
    • sync_binlog=0
    • MYSQL_INITDB_SKIP_TZINFO=1
      该配置仅建议开发环境使用,生产环境不要修改上述参数。
  • 开启Docker for Mac的VirtioFS文件共享功能,该特性是官方针对Apple硅芯片优化的文件系统方案,比默认的gRPC FUSE挂载性能提升30%以上,可在Docker桌面端的设置-特性开发页面开启。
  • 极致性能方案:直接在本地Mac安装ARM原生的Mysql服务,修改Laravel的数据库连接配置指向本地Mysql端口,完全规避Docker挂载的IO损耗,实测该方案可让migrations和seeders的运行速度提升5到10倍。

内容的提问来源于stack exchange,提问作者Gijs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:24:03