- 締切済み
SQLのエラーの解決方法について
サーバが高負荷になると、まず、サイトにアクセスできなくなり最終的にはサーバが落ちてしまいます。 エラー内容を、検索サイトにて検索してもでてきません。 環境としましては、OSにCentOS6.2を使用し、OpenPNE3.6をApache経由で使用しています。 高負荷時には、CPU使用率は1~3%と低いです。 2GBある物理メモリの使用率は85%程度、SWAPの使用率は70%程度です。 Apacchのerror_logの中身はこのようになっていました。 どなたか対象方法がわかる方がいたら教えていただけませんか? よろしくお願いいたします。 2358 [Mon Mar 12 07:36:06 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2359 [Mon Mar 12 07:36:07 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2360 [Mon Mar 12 07:36:11 2012] [error] server reached MaxClients setting, consider raising the MaxClients setting$ 2361 [Mon Mar 12 07:36:20 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2362 [Mon Mar 12 07:36:10 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [1040] Too many connections$ 2363 [Mon Mar 12 07:36:48 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [1040] Too many connections$ 2364 [Mon Mar 12 07:36:52 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2365 [Mon Mar 12 07:36:26 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2366 [Mon Mar 12 07:38:07 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2367 [Mon Mar 12 07:37:17 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2368 [Mon Mar 12 07:38:24 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2369 [Mon Mar 12 07:38:37 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ToOrisugaru
- ベストアンサー率28% (80/280)
2358 [Mon Mar 12 07:36:06 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 2359 [Mon Mar 12 07:36:07 2012] [error] [client ...] PDO Connection Error: SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'waiting for initia l communication packet', system error: 95$ 接続エラー SQLSTATE[HY000] [2013] 接続が落ちた。 MYSQLサーバーにて、接続パケット初期化中に システムエラー ってな意味かな? 上記内容から、メモリ関係とは思いますのすので以下の手順にて調査する必要がある と思います。 MYSQLのマニュアルのメモリ関係を見ると以下の記述がります。 メモリ使用量は、以下の計算式となっているので、下記計算式で概算を見積もる。若しくは設計書にて 以下の個所を確認し、自分でも再度計算を行ってみる。 グローバルでのメモリー割り当て量 + 各スレッドへのメモリー割当量 * 接続数 次に、グローバルでの割り当てで、代表的な変数なども見てみる。 (現在どのように設定しているかとか、各パラメータの意味はとか、他にどんなのがあってそれぞれの意味はとか それが解ったら、mysqlが稼働しているマシンスペックと照らし合わせて、最適なのかどうか とか検討して、その結果どうすべきなのか(メモリ増設? 利用sqlの改善?パラメータの調整? など) bdb_cache_size bdb_log_buffer_size innodb_additional_mem_pool_size innodb_buffer_pool_awe_mem_mb innodb_buffer_pool_size innodb_log_buffer_size key_buffer_size query_cache_size 各スレッドへの割り当て、変数 join_buffer_size read_buffer_size read_rnd_buffer_size sort_buffer_size ※ などあるようですが、バージョンによっても違うようなので、このへんも調査したほうがいいと思います。 あと、これ以外にも利用しているdml分(sql文もかき集め、上記エラーがでたとき、どんなsqlが発行されていた とかも調査したほうがいいですね! 以外と、sql誤りにより巨大なメモリを浪費してメモリを圧迫しているってなこともあるとか) とま、地道な作業となりますが頑張ってください。
- aenvgielle
- ベストアンサー率14% (128/893)
接続が多すぎるからMax clientsの設定値を増やしてみたら? って言ってるようですけど。
補足
設定値を増やしてはみましたが、エラーが出続けます・・・ サーバのそもそものスペックが足りない気もします ありがとうございました・。
お礼
そういうところの設定も必要なんですね! 解答ありがとうございます。 マニュアル見ながらいろいろやっていこうと考えてます ありがとうございました!!