[前][次][番号順一覧][スレッド一覧]

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]