mysql:14112
From: "Tetsuro IKEDA" <"Tetsuro IKEDA" <ikdttr@xxxxxxxxxx>>
Date: Wed, 18 Jul 2007 22:48:51 +0900
Subject: [mysql 14112] Re: 稀に mysql_query 処理から戻ってこなくなる
こんばんは。池田です。 "show processlist"を見れば下記症状が出ていると思われる 接続の状態を調べることができると思います。 07/07/18 に Koki Takeda<koh@xxxxxxxxxx> さんは書きました: > はじめまして。竹田と申します。 > > この度、MySQL を利用した php プログラムを作成致しました。 > プログラム内で、子プロセスを生成し、子プロセス内で、複数回、 > MySQL クエリを送信しているのですが、下記症状が、稀に発生して困 > っております。 > > 下記に、詳細をお知らせ致しますので、恐れ入りますが、何か対策を > ご教授いただければ幸いです。 > > よろしくお願い致します。 > > --------------------- > > ■ 動作環境 > > OS: Solaris 8 > php: 4.3.9 > Mysql: Ver 4.0.12-standard for sun-solaris2.8 on sparc > > > ■ 処理内容 > > 作成した php プログラム(仮名:test.php)内で、MySQL関数 > mysql_query により、MySQL クエリ(select、insert)を繰り返し送 > 信しています。 > > また、test.php は、プロセスをフォークしており、5つの子プロ > セスが同時に動作しています。子プロセス全体で、2500回程度、 > MySQL クエリを送信しています。 > > 以下に、プログラムの概要とプログラムフローの概略をご説明致し > ます。 > > <test.php プログラム概要> > > 任意のファイルを別のサーバに転送する処理です。 > > <test.php プログラムフロー概略> > > 開始 > > 転送対象ファイル一覧取得クエリ実行(実環境:約60レコード) > mysql_query (select) > > サーバ一覧取得クエリ実行(実環境:5レコード) > mysql_query (select) > > ループ1開始(サーバの数分ループ){ > > プロセスをフォーク > > if フォーク失敗 { > > エラー処理 > > } elseif 親プロセス { > > プロセスIDバックアップ > > } else { 子プロセス > > ループ2開始(転送対象ファイルの数分ループ){ > > 転送判定クエリ実行 > mysql_query (select) > > if 転送対象でない(転送済) { > > ログ書き出しクエリ実行 > mysql_query (insert) > > ループ2継続 > } > > 転送処理実行 > > } ループ2終了 > > } > > } ループ1終了 > > 子プロセス終了待ち処理 > > 終了 > > > ■ 症状 > > ほとんどの場合は、正常に処理が終了するのですが、稀に、子プロ > セス処理全体で 200〜250回程度 mysql_query を呼び出した後、 > mysql_query 処理から戻ってこなくなり、処理が止まってしまいま > す。 > > mysql_query 処理から、戻ってこなくなったSQL文は、以下の通り > です。 > > ・select updated from table_name_1 where code = 98 > > ・insert into table_name_2 ( field_name_1,field_name_2, > field_name_3,field_name_4,field_name_5 ) values ( '1', '', > '', 1,'サーバ名:ファイル(aaa.txt)の転送処理をスキップしま > した。' ) > > また、本症状発生中でも、mysqld は、起動したままになっており、 > 他のクエリは、実行できる状態です。 > > 現在は、本症状が発生した場合、親プロセスと、5つの子プロセス > を全て、kill しています。(mysql の再起動は、行っていません。) > その後、再度、test.php を実行すると、全ての処理が正常に終了 > 致します。 > > > ■ 質問内容 > > 以上のことを踏まえまして、以下の質問をさせていただきたいと思 > います。 > > ・本症状(mysql_query 処理から、戻ってこなくなる)と同様の症例 > は、ありますでしょうか。 > > ・同様の症例がある場合、本症状を、どのように解消されたでしょ > うか。 > > ・その他、本症状が発生する理由及び、対処策をご存知の方いらっ > しゃいましたら、ご教授お願い致します。 > > > >
14110 2007-07-18 18:45 [Koki Takeda <koh@xxx] 稀に mysql_query 処理から戻ってこなくなる -> 14112 2007-07-18 22:48 ┗["Tetsuro IKEDA" <ikd] 14113 2007-07-19 16:22 ┗[Koki Takeda <koh@xxx] 14114 2007-07-19 16:43 ┗[遠藤 俊裕 <endo@xxxx] 14115 2007-07-19 18:27 ┗["Tetsuro IKEDA" <ikd] 14116 2007-07-19 18:36 ┗[Koki Takeda <koh@xxx] 14127 2007-07-23 21:51 ┗[Koki Takeda <koh@xxx] 14128 2007-07-23 22:19 ┗[遠藤 俊裕 <endo@xxxx]