Laravel迁移/ db:种子超级慢

JSe*_*ser 19 php mysql database-connection laravel

我最近从旧的Windows计算机升级为gen.4 I7 Ubuntu 15.04

像梦一样运行......除了触摸数据库的任何Laravel工匠命令需要一百万年才能完成,而我的旧计算机在几秒钟内执行任何这些命令.

主要区别在于,我将MySQL作为本地服务运行,而不是XAMPP.

同样在我的旧计算机中,我可以看到迁移缓慢显示在屏幕上,因为它们似乎在现在处理,需要2~5分钟,完成后整个迁移列表会立即显示.这可能表明某个地方的瓶颈.

在互联网的某个地方,有人说由于DSN解析而使用'127.0.0.1'而不是'localhost'.没有解决它.

为了确保这不是我跑的问题

    $time = microtime(true);

    //also with host=127.0.0.1
    new PDO("mysql:host=localhost;dbname=some_db", "username", "password");

    //some simple queries here...

    //yielded similar marginal times
    echo microtime(true) - $time;
Run Code Online (Sandbox Code Playgroud)

〜HALP


编辑

我从框架中收集了每个查询的运行时间,我有很多迁移,分析我发现的数据没有什么疯狂的慢(就像运行一分钟的查询).

这是与数据的链接.实际查询被忽略,有利于我的雇主.

虽然有很多查询运行一秒或更长时间,但速度最慢,number 221需要3.5秒.

我有大约一百次迁移(我知道)但是这就是事情,如果每次迁移需要一秒钟我会等待大约一分半钟才能迁移,但通常需要4到5分钟.

正如oliverpool所建议的那样,我通过终端重放mysql上的查询进行了一些分析,但我从来没有等过一秒钟,平均查询大约需要一秒钟.

这是最慢查询的分析图片(迁移时为3.5秒,而不是接近图片中的第二个)

在此输入图像描述

也许这指向连接?顺便说一下,在运行迁移后,慢查询日志为空.

另外,我现在正在使用laravel 5并且行为是相同的.我不知道如何麻烦拍摄连接,所以我猜一些谷歌搜索是有序的,欢迎任何建议.

提前谢谢.

Nav*_*waj 5

在这种情况下,我认为需要增加缓冲池大小。设置以下内容:

[mysqld]
innodb_io_capacity = 2000
innodb_read_io_threads = 64
innodb_thread_concurrency = 0
innodb_write_io_threads = 64
Run Code Online (Sandbox Code Playgroud)