LoginSignup
0
0

More than 3 years have passed since last update.

[Ruby on Rails] Mysql2::Error: MySQL client is not connected

Last updated at Posted at 2021-02-15

今日は初めてのエラーに遭遇しました。
その備忘録を書いていきたいと思います。

  
テストコードを書き終わって、確認の際の
bundle execコマンドを実行した時に出くわしたエラーでした。

スクリーンショット 2021-02-15 11.43.52.png

このエラーが出ると、テストコードも読み込んでくれなくなり大変でした。

結論から言うと

原因はサーバー高負荷によるものでした。
    
  
まず、考えられる原因が2つありました。

テストコードのFactory.Botの記述でインスタンス変数を3つも使用していたこと。
その中でbuildではなく、3つともcreateを使っていたのが原因の一つだと考えられます。

createの記述にするとデータベースにデータを保存しようとするので処理が重たくなったのでは、と考えられます。

 

もう一つは上記の中、テストコードを読み込んでくれるコマンドを何回も実行していたからだと考えられます。

 
 

解決方法

まずcreateの記述自体がミスで、結果2つでよかった。

あとは読み込みが重くなっているであろう
インスタンス変数を定義してある文の下に
こちらのコマンドを記述する。

sleep(0.1)

簡単に説明すると、処理の読み込みを、あえて遅くするメソッドです。

自分の場合は 最初sleep(1)から実行して、どんどん下げながら様子を見ました。
結果、sleep(0.1)に落ち着きました。

それ以降は問題なく動いています。

 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0