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

mysql:14078

From: Yasufumi Kinoshita <Yasufumi Kinoshita <kinoshita.yasufumi@xxxxxxxxxx>>
Date: Fri, 22 Jun 2007 18:04:13 +0900
Subject: [mysql 14078] Re: [再送]innodb_max_purge_lagについて

木下です。

Katsuyuki Sakai wrote:
> 木下様
> 
> ありがとうございます。
> 
>> これはpurgeの動作そのものを制御するパラメータではなく、
>> purgeが間に合わない場合(マシンの性能が低い or 処理が激しい?)に、
>> 故意にパフォーマンスを下げて(DMLのレスポンスを遅くする)、
>> purgeが間に合うように手加減するためのものです。
>> 通常は利用しないと思います。
> 
> ということは、パージスレッド自体は定期的に走っており、デフォルトでは 
> purge_lagが0になるように目指す。
> ただし、遅いマシンや処理が激しいマシンなどでpurge_lagが際限なくたまって 
> いってしまう場合、なんとかパージ処理が追いつくように、わざとDMLにdelayを 
> 入れる。
> という解釈で正しいでしょうか?

概ねそういう感じだと思います。

「purge_lag」と言いつつ、単に個々のSQLの処理自体にsleepが入るだけみたいです。
確かにわかりづらい名前のパラメータですね。。


> 
> 07/06/22 に Yasufumi Kinoshita<kinoshita.yasufumi@xxxxxxxxxx> さんは書 
> きました:
>> 木下です。
>>
>> > パージ操作にはtablespaceなどへのディスクアクセスが伴うため、パージ操 
>> 作が
>> > ボトルネックになる可能性があります。
>> > なので、innodb_max_purge_lagのデフォルト値0ではディスクアクセスが頻繁に
>> > 起きてボトルネックになる、という考え方は正しいでしょうか?
>> > また、innodb_max_purge_lagの値を適宜増やして、後でまとめてパージ操作 
>> して
>> > もらうことでパフォーマンスアップを図るという考え方は正しいでしょうか?
>>
>> 多分違います。
>> これはpurgeの動作そのものを制御するパラメータではなく、
>> purgeが間に合わない場合(マシンの性能が低い or 処理が激しい?)に、
>> 故意にパフォーマンスを下げて(DMLのレスポンスを遅くする)、
>> purgeが間に合うように手加減するためのものです。
>> 通常は利用しないと思います。
>> どうでしょうか?
>>
>> Katsuyuki Sakai wrote:
>> > 酒井と申します。
>> > 先ほどは変なエンコーディングでメールを送信してしまい、申し訳ございま 
>> せん
>> > でした。
>> > 念のため再送させていただきます。
>> >
>> > -----------------
>> >
>> > innodb_max_purge_lagについて教えていただきたく存じます。
>> >
>> > InnoDBはmulti-versionedストレージエンジンなので、UPDATEやDELETEで変更さ
>> > れた行の変更される前の古い情報を保持しておくかと思います(あるトラン 
>> ザク
>> > ションが変更前のデータを読む必要性ががあるかもしれないため)。
>> >
>> > innodb_max_purge_lagのデフォルト値は0なので、UPDATEやDELETE後MySQLは 
>> 直ち
>> > にパージスレッドを走らせ、そのスレッドによって古い情報はパージされる 
>> ので
>> > しょうか?(ただし古い情報を読む必要があるトランザクションが存在しな 
>> い限
>> > り)
>> >
>> > マニュアルなどを読むと、古い情報の行数をpurge_lagとし、purge_lagの値が
>> > innodb_max_purge_lagの値を超えた場合、
>> > INSERTとUPDATE、DELETEの各操作が((purge_lag/innodb_max_purge_lag)×10)-5
>> > ミリ秒だけ遅延され、その間にパージスレッドが走る、と読めます。
>> > http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html
>> > http://dev.mysql.com/doc/refman/5.0/en/innodb-multi-versioning.html
>> > http://forums.mysql.com/read.php?22,122206,122800#msg-122800
>> >
>> > パージ操作にはtablespaceなどへのディスクアクセスが伴うため、パージ操 
>> 作が
>> > ボトルネックになる可能性があります。
>> > なので、innodb_max_purge_lagのデフォルト値0ではディスクアクセスが頻繁に
>> > 起きてボトルネックになる、という考え方は正しいでしょうか?
>> > また、innodb_max_purge_lagの値を適宜増やして、後でまとめてパージ操作 
>> して
>> > もらうことでパフォーマンスアップを図るという考え方は正しいでしょうか?
>> >
>> > ご返答のほど、よろしくお願いいたします。
>> >
>> > --
>> > 酒井
>> >
>> >
>> >
>>
>>
>>
>>
> 
> 
> 

-- 
NTTコムウェア
プロジェクト管理統括部
技術SE部門 DB技術グループ

木下  靖文

e-mail: kinoshita.yasufumi@xxxxxxxxxx


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

     14075 2007-06-22 17:06 [Katsuyuki Sakai <sak] [再送]innodb_max_purge_lagについて      
     14076 2007-06-22 17:16 ┗[Yasufumi Kinoshita <]                                       
     14077 2007-06-22 17:53  ┗["Katsuyuki Sakai" <s]                                     
->   14078 2007-06-22 18:04   ┗[Yasufumi Kinoshita <]