gpt4 book ai didi

php - Laravel:为什么数据库 Seeder 在我的快速电脑上如此慢

转载 作者:行者123 更新时间:2023-12-02 20:59:14 26 4
gpt4 key购买 nike

我在 Win10 上的 Homestead Vagrant 盒子上运行典型的 Laravel 版本 5.2.23,配有快速 NVMe 固态硬盘、Skylake i7 6700K cpu、16GB 内存。 VirtualBox 5.0.26 r108824。我为虚拟机分配了 4GB 和 2 个 CPU。几乎一切都是默认的。

这个非常基本的用户表播种器需要 45 秒才能完成 1000 条记录,而我之前使用 Laravel 4.2 时,电脑速度要慢得多,但性能却更快。当我访问 localhost 站点时,它会快速加载数据(我只是回显了 index.html 中的整个 1000 条记录用户表),因此看起来不像 VM 和 Win10 之间的网络流量减慢,而是 idk。

播种器如下。

class UsersTableSeeder extends Seeder {

public function run() {
DB::table('users')->truncate();

for( $ii = 0; $ii < 1000; $ii++)
DB::table('users')->insert([
'name' => $ii,
'email' => $ii.'@gmail.com',
'password' => bcrypt('secret'),
]);


}

}

我知道有时基于 Linux 的虚拟机可能会出现奇怪的 Windows 文件系统速度下降的情况,但我不确定这里发生了什么。任何帮助都会很棒。

最佳答案

因为bcrypt函数调用很慢。通常一次操作大约需要 50ms(根据机器的不同可能会更快)。(50ms * 1000op)/1000ms = 50s。

查看更多Why is php's password_hash so slow?

关于php - Laravel:为什么数据库 Seeder 在我的快速电脑上如此慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com