2

高速NVMe ssd、Skylake i7 6700K cpu、16GB RAMを搭載したWin10のHomestead Vagrantボックスで、典型的なLaravelバージョン5.2.23を実行しています。VirtualBox 5.0.26 r108824。VM には 4GB と 2 つの CPU が割り当てられています。ほとんどすべてがデフォルトです。

この非常に基本的なユーザー テーブル シーダーは、1000 レコードに 45 秒かかり、Laravel 4.2 を使用する前は、はるかに遅い PC でより高速なパフォーマンスが得られました。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 ファイル システムの速度が異常に低下することがありますが、ここで何が起こっているのかはわかりません。どんな助けでも素晴らしいでしょう。

4

1 に答える 1

5

bcrypt 関数の呼び出しが遅いためです。通常、1 回の操作に約 50 ミリ秒かかります (マシンによっては、より高速になる場合もあります)。(50ms * 1000op) / 1000ms = 50 秒。

もっと見るPHP の password_hash が遅いのはなぜですか?

于 2016-08-27T00:32:50.733 に答える