我在Win10上的Homestead Vagrant盒子上运行典型的Laravel版本5.2.23,带有快速NVMe ssd,Skylake i7 6700K cpu,16GB内存。 VirtualBox 5.0.26 r108824。我有4GB和2个CPU分配给VM。几乎所有东西都是默认的。
这个非常基本的用户表播种器需要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的VM可能会出现奇怪的Windows文件系统速度下降,但我不确定这里会发生什么。任何帮助都会很棒。
答案 0 :(得分:4)
因为bcrypt函数调用很慢。通常一次操作需要大约50ms(取决于机器它可以更快)。 (50ms * 1000op)/ 1000ms = 50s。