亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

當master down掉后,pt-heartbeat不斷重試會導致內存緩慢增長的原因及解決辦法

2024-08-31 01:04:13
字體:
來源:轉載
供稿:網友

最近同事反映,在使用pt-heartbeat監控主從復制延遲的過程中,如果master down掉了,則pt-heartbeat則會連接失敗,但會不斷重試。

重試本無可厚非,畢竟從使用者的角度來說,希望pt-heartbeat能不斷重試,直到重新連接上數據庫。但是,他們發現,不斷的重試會帶來內存的緩慢增長。

重現

環境:

pt-heartbeat v2.2.19,MySQL社區版 v5.6.31,Perl v5.10.1,RHEL 6.7,內存500M

為了避免數據庫啟停對pt-heartbeat內存使用率的影響,故MySQL和pt-heartbeat分別運行在不同的主機上。

運行pt-heartbeat

# pt-heartbeat --update -h 192.168.244.10 -u monitor -p monitor123 -D test --create-table

監控pt-heartbeat的內存使用率

獲取pid

# ps -ef |grep pt-heartbeatroot 1505 1471 0 19:13 pts/0 00:00:08 perl /usr/local/bin/pt-heartbeat --update -h 192.168.244.10 -u monitor -p monitor123 -D test --create-tableroot 1563 1545 2 19:50 pts/3 00:00:00 grep pt-heartbeat

查看該進程的內存使用率

# top -p 1505

運行了0:15.00(TIME+列),MEM一直穩定在3.3%

heartbeat

現關閉數據庫

# service mysqld stop

剛才的pt-heartbeat命令不斷輸出以下信息

heartbeat

同樣CPU時間后,MEM增長到4.4%, 增長了1%,考慮到內存500M,該進程的內存占用增加了5M,雖然不是很多,但考慮到進程的內存增加并沒有停止的意思,這個現象還是要引起注意的。

heartbeat

同時,通過pmap命令,發現,0000000001331000地址的RSS和Dirry也會增長,增長的速率是4k/s

heartbeat

后來研究pt-heartbeat的源碼,才發現代碼有點bug

my $tries = 2;while ( !$dbh && $tries-- ) {PTDEBUG && _d($cxn_string, ' ', $user, ' ', $pass,join(', ', map { "$_=>$defaults->{$_}" } keys %$defaults ));$dbh = eval { DBI->connect($cxn_string, $user, $pass, $defaults) };if ( !$dbh && $EVAL_ERROR ) {if ( $EVAL_ERROR =~ m/locate DBD//mysql/i ) {die "Cannot connect to MySQL because the Perl DBD::mysql module is ". "not installed or not found. Run 'perl -MDBD::mysql' to see ". "the directories that Perl searches for DBD::mysql. If ". "DBD::mysql is not installed, try:/n". " Debian/Ubuntu apt-get install libdbd-mysql-perl/n". " RHEL/CentOS yum install perl-DBD-MySQL/n". " OpenSolaris pgk install pkg:/SUNWapu13dbd-mysql/n";}elsif ( $EVAL_ERROR =~ m/not a compiled character set|character set utf8/ ) {PTDEBUG && _d('Going to try again without utf8 support');delete $defaults->{mysql_enable_utf8};}if ( !$tries ) {die $EVAL_ERROR;}}}

以上代碼摘自get_dbh函數,用于獲取數據庫的連接,如果獲取失敗,則重試1次,然后通過die函數拋異常退出。

但是,通過設置如下斷點,發現當$tries為0時,if函數里面的PTDEBUG && _d("$EVAL_ERROR")語句能執行,但die函數就是沒有拋出異常,并退出腳本

PTDEBUG && _d($tries);if ( !$tries ) {PTDEBUG && _d("$EVAL_ERROR"); die $EVAL_ERROR; }

后來,將上述代碼的最后一個if函數修改如下:

if ( !$tries ) {die "test:$EVAL_ERROR";}

再次測試

啟動數據庫

# service mysqld start

執行pt-heartbeat命令

# pt-heartbeat --update -h 192.168.244.10 -u monitor -p monitor123 -D test --create-table

停止數據庫

# service mysqld stop

剛才執行的pt-heartbeat命令異常退出

heartbeat

“test:”就是加入的測試字符。

結論

很奇怪,只是單純的die $EVAL_ERROR不會拋出異常,并退出腳本,但修改后的die "test:$EVAL_ERROR"卻會退出腳本。

很顯然,這確實是個bug,不知道是不是與perl的版本有關。

很好奇,失敗的連接如何導致內存的不斷增長?

最后,給percona官方提了個bug

https://bugs.launchpad.net/percona-toolkit/+bug/1629164

以上所述是小編給大家介紹的當master down掉后,pt-heartbeat不斷重試會導致內存緩慢增長的原因及解決辦法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲男人av电影| 国产亚洲精品91在线| 91免费人成网站在线观看18| 亚洲女人被黑人巨大进入| 懂色av一区二区三区| 欧美精品成人91久久久久久久| 精品久久久一区二区| 国精产品一区一区三区有限在线| 欧美乱大交xxxxx另类电影| 性欧美xxxx交| 欧美日韩国产一区二区| 午夜精品99久久免费| 欧美性猛交xxxx免费看漫画| 欧美中文字幕在线视频| 亚洲高清不卡av| 精品免费在线视频| 日韩av免费在线看| 97在线观看免费高清| 亚洲欧美日韩精品久久亚洲区| 国产精品人人做人人爽| 欧美最顶级丰满的aⅴ艳星| 亚洲国产99精品国自产| 91成品人片a无限观看| 久久久久久久亚洲精品| 欧美孕妇毛茸茸xxxx| 欧美xxxx做受欧美| 欧美日韩中文字幕在线| 成人h片在线播放免费网站| 国产精品一区二区3区| 亚洲在线视频福利| 91久久久久久久久久久| 欧美猛交免费看| 久久夜色精品亚洲噜噜国产mv| 亚洲娇小xxxx欧美娇小| 国产91久久婷婷一区二区| 日韩亚洲国产中文字幕| 亚洲精品久久久久中文字幕二区| 77777少妇光屁股久久一区| 欧美日韩美女在线观看| 亚洲自拍偷拍色片视频| 久久久欧美一区二区| 九九热这里只有精品6| 久久九九精品99国产精品| 日韩av中文字幕在线免费观看| 91精品国产91久久久久久吃药| 国产精品无码专区在线观看| 欧美综合在线观看| 国产精品第一页在线| 亚洲人a成www在线影院| 日韩精品免费在线观看| 色综合老司机第九色激情| 97香蕉久久夜色精品国产| 一级做a爰片久久毛片美女图片| 91日本在线视频| 国产精品女主播视频| 午夜免费日韩视频| 欧美一区第一页| 久久亚洲私人国产精品va| 国产精品成人免费视频| 日韩精品在线观| 亚洲sss综合天堂久久| 91在线观看免费| 亚洲视频在线视频| 精品久久久久久亚洲国产300| 欧美黑人一级爽快片淫片高清| 国内精品国产三级国产在线专| 欧美成人免费小视频| 国产偷亚洲偷欧美偷精品| 国产一区二区色| 91久久精品国产91性色| 91精品国产91久久久久久吃药| 亚洲白虎美女被爆操| 中文字幕日韩有码| 亚洲精品国产电影| 亚洲aa在线观看| 亚洲欧美国产一区二区三区| 久久九九免费视频| 国产精品自拍小视频| 亚洲黄色在线观看| 国产精品久久久久久久久久新婚| 久久免费福利视频| 欧美日韩国产综合视频在线观看中文| 久久久精品美女| 精品成人69xx.xyz| 91国内精品久久| 国产欧美日韩高清| 久久久亚洲成人| 亚洲日本成人网| 4p变态网欧美系列| 国产亚洲一区二区在线| 亚洲精品999| 国产亚洲精品激情久久| 日韩高清a**址| 欧美日韩日本国产| 色阁综合伊人av| www.日韩不卡电影av| 琪琪亚洲精品午夜在线| 亚洲视频777| 日韩视频在线一区| 日韩精品免费在线播放| 国产日韩专区在线| 亚洲国产精品久久精品怡红院| 懂色aⅴ精品一区二区三区蜜月| 精品视频在线导航| 国产丝袜一区二区三区| 欧美亚洲成人xxx| 日韩免费电影在线观看| 亚洲天堂色网站| 成人黄色短视频在线观看| 日韩美女视频免费看| 亚洲男人天堂手机在线| 亚洲区一区二区| 91sao在线观看国产| 亚洲精品资源在线| 国产亚洲视频中文字幕视频| 美女福利精品视频| 成人性生交大片免费看小说| 亚洲国模精品私拍| 美女精品视频一区| 国产91精品视频在线观看| 欧美一级bbbbb性bbbb喷潮片| 亚洲a∨日韩av高清在线观看| 亚洲天堂第二页| 欧美国产第二页| 欧美大全免费观看电视剧大泉洋| 欧美成人在线免费| 欧美亚洲另类在线| 26uuu另类亚洲欧美日本老年| 国产999精品视频| 久久这里只有精品99| 狠狠爱在线视频一区| 亚洲综合中文字幕68页| 91精品视频播放| 97成人精品视频在线观看| 国产丝袜一区二区三区免费视频| 亚洲欧美自拍一区| 国产亚洲精品一区二区| 欧美疯狂做受xxxx高潮| 欧美一区二区三区免费观看| 色小说视频一区| 欧洲精品毛片网站| 国产精品久久久久7777婷婷| 日韩av影视综合网| 91精品国产91久久久| 91久久夜色精品国产网站| 欧美极度另类性三渗透| 538国产精品视频一区二区| 78m国产成人精品视频| 国产精品美女久久久久久免费| 国产欧美精品一区二区| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产另类久久精品| 成人欧美一区二区三区黑人| 欧美中文在线视频| 热草久综合在线| 色婷婷av一区二区三区在线观看| 精品一区二区电影| 欧美激情亚洲综合一区| 亚洲国产中文字幕在线观看| 欧美成人精品一区二区| 久久久www成人免费精品张筱雨| 日韩精品免费在线播放| 不卡在线观看电视剧完整版| 日韩精品免费在线视频|