Laravel migrations/db:seed super slow
我最近从旧的Windows计算机升级到第4代I7 Ubuntu 15.04
像梦一样奔跑,嗯...除了任何涉及数据库的Laravel工匠命令都需要一百万年才能完成,而我的旧计算机在几秒钟内执行了这些命令中的任何一个。
主要区别在于,我没有使用XAMPP,而是将MySQL作为本地服务运行。
同样在我的旧计算机中,我可以看到迁移如何缓慢地显示在屏幕上,因为它们似乎正在处理,而现在,它需要2〜5分钟,完成后,整个迁移列表立即显示。这可能表明某个地方有瓶颈。
在互联网上的某个地方,有人说由于DSN分辨率而使用“127.0.0.1”而不是“本地主机”。没有解决它。
确保这不是我运行的问题
$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;
~哈普
编辑
我从框架中收集了每个查询的运行时间,我有很多迁移,分析我发现没有什么特别慢的数据(比如查询运行一分钟)。
这是一个数据链接。实际的查询被省略了,有利于我的雇主。
尽管有许多查询运行了一秒钟或更长时间,但最慢的查询需要3.5秒。number 221
我有大约一百次迁移(我知道),但事情就是这样,如果每次迁移都需要一秒钟,我会等待大约一分半钟才能迁移,但通常需要4到5分钟。
正如oliverpool所建议的那样,我通过终端在mysql上重放查询来做一些分析,但我从来不需要等待超过一秒钟,平均查询大约需要一秒钟。
这是最慢查询的分析图片(迁移中为3.5秒,图片中不接近一秒)
也许这指向连接?顺便说一句,运行迁移后,慢查询日志为空。
另外,我现在正在使用laravel 5,行为是一样的。我不知道如何解决问题连接,所以我想一些谷歌搜索是有序的,任何建议都是受欢迎的。
提前致谢。