laravel本地连接远程数据库特别慢,每次查询需要4-20秒

1. 运行环境

1). 当前使用的 Laravel 版本?

laravel-8.4

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.4

3). 当前系统

mac intel版本
docker环境

4). 业务环境

开发环境

5). 相关软件版本

服务器mysql:MySQL5.7
本地docker软件版本:4.3.1

2. 问题描述?

当我使用laravel+ dcat 在本地访问后台的时候,查询时间 在远程mysql上查看单个执行sleep 4-20秒不等

远程服务器是上海的,本地河南。

数据库内目前不超过100条数据

laravel本地连接远程数据库特别慢,每次查询需要4-20秒

已排查过程
1.ping远程服务器30ms。
2.远程服务器上打开后台很快没有问题。
3.navicat执行sql测试,速度正常。
4.本地api运行起来(hyperf+连远程数据库)请求接口,速度正常。
5.其他项目连远程服务器也很慢,试过其他服务器上的数据库,也很慢(猜测本地问题)。
6.本地dns尝试更改为上海dns尝试,也不行。
7.远程服务器上加skip-name-resolve无效。
8.删除php容器建立新容器,也不行。
9.本地pdo链接查询测试,速度很快。
10.php慢日志

laravel本地连接数据库特别慢,每次查询需要4-20秒

laravel本地连接数据库特别慢,每次查询需要4-20秒

laravel本地连接数据库特别慢,每次查询需要4-20秒

3. 您期望得到的结果?

运行的时候速度没问题。

(这个问题刚入职的第一家公司的时候也遇到过,当时老大没管,自己各种搜都没解决百思不得其解,没想到现在又遇到了···)

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

已解决 当我把arryvdh/laravel-debugbar装上后,他就自己好了, 很玄学

2年前 评论
讨论数量: 5

可以先抛开laravel 使用 php 原生来链接下数据库试试。确认是larvel的问题,而不是链接慢

2年前 评论
taobali32 (楼主) 2年前

已解决 当我把arryvdh/laravel-debugbar装上后,他就自己好了, 很玄学

2年前 评论

App\Providers\AppServiceProvider 添加下面代码

    public function boot()
    {
        DB::listen(function (\Illuminate\Database\Events\QueryExecuted $query) {
                \Log::info("
                    SQL: $query->sql
                    Bindings: ". (empty($query->bindings) ? '' : json_encode($query->bindings)) ."
                    Time: $query->time
                ");
        });
    }

访问一次链接,查看有多少条sql 查询,并查看每条查询耗时和时间间隔

2年前 评论

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