Bonjour à tous,

J'ai un soucis de lenteur avec Laravel 11 et la fonction Hash::check() qui utilise BCrypt.

En effet, je suis en train de développer une petite API RESTful. J'utilise Sanctum pour la gestion des tokens et voici le code que j'ai pour l'authentification :

     public function signin(SigninRequest $request)
     {

         $user = User::where('usr_email', $request->email)->where('usr_role', $request->role)->first();

         if(!$user || !Hash::check($request->password, $user->usr_password)){return response(null, 401);}

         $token_id = explode('|', $user->createToken($user->usr_role, ['*'], now()->addMinute(30))->plainTextToken)[1];

         return response()->json([
            'token' => $token_id
         ], 200);

     }

Déjà j'ai remarqué une lenteur d'environ 150ms supplémentaire si j'utilise la fonction Hash::check() pour contrôler le mot de passe. Mais comme ma base de données est distante, je me suis dis que cela pouvait venir de là.

Par contre, au moment de déployer sur un serveur Kubernetes qui a 4 noeuds de 2vCPU de 2Ghz chacun et 7Go de RAM chacun, j'avais des temps de réponse non plus de 250ms mais de 900ms (et des pics à 1100ms).

J'ai donc rappatrié la base ne local sur le serveur Kubernetes et j'ai les mêmes résultats...

Je suppose donc que j'ai un soucis :

  • dans mon code,
  • au moment de déployer et j'utilise des mauvaises lignes de codes
  • dans la dimension de mon POD malghré que j'ai paramétré 2vCPU et 7Gi de RAM uniquement pour ce POD pour les tests

Je sollicite donc ce forum en espérant que quelqu'un puisse m'aider...

1 réponse


Bonjour :),

Est-ce que usr_email et usr_role sont indexés dans ta base de donnée ?
Quelle est ta configuration bcrypt dans ton fichier de configuration (config/hashing.php) ?