mysql:14096
From: "橋本健太" <"橋本健太" <kem@xxxxxxxxxx>>
Date: Thu, 5 Jul 2007 00:45:24 +0900
Subject: [mysql 14096] Re: レプリケーションが一瞬だけ遅れる
橋本です。 酒井さん、まるやまやん、松信さん ありがとうございました。 マスターのサーバの時刻を合わせた結果、Seconds_Behind_Masterが一瞬 大きな値になる現象は収まりました。 > > (マスタとスレーブの時刻差)は、レプリケーションの開始時点での時刻差になるの > > で、 > > 開始時点でのマスターとスレーブの時刻の同期が取れていて、 > > 運用後の長期経過のうちに時間が大きくずれれば、 > > 今回のような現象はあり得ます。 今回は、もともとntpdにより時刻の同期がとれていたものが、ntpdの停止後に 徐々に時刻がずれてしっていたので、まさに、この状態でした。 御助言、ありがとうございました。 07/07/04 に Katsuyuki Sakai<sakai@xxxxxxxxxx> さんは書きました: > 松信さん、 > > 的確な指摘、ありがとうございます。 > てっきりSHOW SLAVE STATUS;時に、毎回マスタ・スレーブ間の時刻差を測定しているものと思いこんでいました(ソースの読み込みが甘かったです)。 > 参考リソースなど、もう少しソースを読み込んでいきたいと思います。 > > 酒井 > > On 7/4/07, Yoshinori Matsunobu <ymatsunobu@xxxxxxxxxx> wrote: > > 松信です。 > > > > > > ところで、MySQLのオンラインのマニュアルでは、 > > > > 「マスタとスレーブで同一の時計を使用していなくても問題ない。」 > > > > とあるのですが、 > > > > http://dev.mysql.com/doc/refman/4.1/ja/show-slave-status.html > > > > これは、今回のような場合には当てはまらないのですかね? > > > > > > 5.0.41のソースでSeconds_Behind_Masterを算出する部分は以下のようになってい > > ます。 > > > sql/slave.cc 2520行目 > > > --- > > > long time_diff= ((long)((time_t)time((time_t*) 0) > > > - mi->rli.last_master_timestamp) > > > - mi->clock_diff_with_master); > > > --- > > > 大ざっばに言うと、 > > > (スレーブの現在時刻)-(現在スレーブのSQLスレッドで実行中のSQLがマスタで発行 > > された時刻)-(マスタとスレーブの時刻差) > > > という式です。 > > > なので、マスタとスレーブの時刻差は考慮されているはずなのですが…。 > > > > (マスタとスレーブの時刻差)は、レプリケーションの開始時点での時刻差になるの > > で、 > > 開始時点でのマスターとスレーブの時刻の同期が取れていて、 > > 運用後の長期経過のうちに時間が大きくずれれば、 > > 今回のような現象はあり得ます。 > > > > 興味があれば、slave.ccの、 > > pthread_handler_t handle_slave_io(void *arg) > > の中のget_master_version_and_clock(mysql, mi)や、 > > そのすぐ後のwhile文を見てみてください。 > > > > ---- > > Yoshinori Matsunobu > > Senior Consultant > > MySQL AB, www.mysql.com > > > > MySQL Consulting Services: > > http://www-jp.mysql.com/consulting/ > > > > > > > > > > -- 橋本健太 世界最大の料理サイト! 「クックパッド」 - http://cookpad.com スタッフ大募集中! - http://cookpad.com/jobs/
14084 2007-07-02 21:15 ["橋本健太" <kem@xxxx] レプリケーションが一瞬だけ遅れる 14085 2007-07-03 16:46 ┗["Katsuyuki Sakai" <s] 14086 2007-07-03 21:08 ┗["橋本健太" <kem@xxxx] 14087 2007-07-03 22:07 ┗["Katsuyuki Sakai" <s] 14088 2007-07-03 22:45 ┣[<kenrouse@xxxxxxxxxx] 14089 2007-07-04 00:45 ┗["Yoshinori Matsunobu] 14090 2007-07-04 01:51 ┗["Katsuyuki Sakai" <s] -> 14096 2007-07-05 00:45 ┗["橋本健太" <kem@xxxx]