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

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]