MySQL:MySQL工具以及5.7mysqlbinlog|mysql速度極慢問題


隨便記錄點 5.7.22代碼

MySQL工具主要分為 交互式和非交互式

  • 交互式
    就是我們平時用的交互式命令方式
  • 非交互式(batch mode)
    主要用于解析binlog和批量導入sql低矮,每次都會讀取1行數(shù)據(jù)到buffer
    如果是binlog,那么每次大約讀取的原始數(shù)據(jù)為76字節(jié)型酥,及mysqlbinlog解析出來的一行
AAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAA
AAAAAP4AAAAAAAAAAP4KAAAAAAAAAP4UAAAAAAAAAP4eAAAAAAAAAP4oAAAAAAAAAP4yAAAAAAAA
AP48AAAAAAAAAP5GAAAAAAAAAP5QAAAAAAAAAP5aAAAAAAAAAP4KAAAAAAAAAP4AAAAAAAAAAP4A
AAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4AAAAA
AAAAAP4AAAAAAAAAAP4AAAAAAAAAAP4KAAAAAAAAAP4UAAAAAAAAAP4eAAAAAAAAAP4oAAAAAAAA
AP4yAAAAAAAAAP48AAAAAAAAAP5GAAAAAAAAAP5QAAAAAAAAAP5aAAAAAAAAAP4KAAAAAAAAAP4A

類似這里就有6行备籽。如果是大事務,每次解析76字節(jié)嚣鄙,add_line 函數(shù)磷箕。然后等待大事務所有行解析完成后進行com_do函數(shù)進行執(zhí)行命令。
如果是sql語句蒿柳,那么就是一條sql執(zhí)行一次沒有什么問題饶套。

最近遇到mysqlbinlog|mysql大事務特別慢的情況,因此提交了如下問題:
https://bugs.mysql.com/bug.php?id=102278
8.0.13修復了垒探,5.7.33最新版本依舊存在這個問題妓蛮。

Hi:
  we use mysqlbinlog|mysql to parse binlog and recover binlog,when have large trasaction,mysql client tool
is very slow at add_line function.
  20M trasaction event mysql add line use 1 hour!! cpu is 100% use in sy% and pstack mysql client stack like: 

__memmove_sse3
my_realloc
String::mem_realloc
add_line
read_and_execute
main

 when batch mode,mysql every time add 76 bytes event line to buffer,buffer init 520 bytes,when 20M event load in 
buffer then call com_do funcation to execute command。


Breakpoint 9, add_line (buffer=..., line=0xa603e0 "/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;", line_length=45, in_string=0x7fffffffe287 "", ml_comment=0x7fffffffe286, truncated=false)
    at /opt/percona-server-locks-detail-5.7.22/client/mysql.cc:2533
2533      bool need_space= 0;
(gdb) p buffer.m_length
$20 = 0
(gdb) p buffer.m_alloced_length
$21 = 520

when buffer is smaller, every time allocate 4K mem:

    if (buffer.length() + length >= buffer.alloced_length())
      buffer.mem_realloc(buffer.length()+length+IO_SIZE);

this step rise frequently mem allocate.and cpu sy% is very high!! 
when mysql use batch mode can we use large init buffer or give our a parameter to control this.
when i search bug i find Bug #85155 is like this,is this fix at mysql 8.0.13,what 5.7 version fix this?

thanks!!

我進行了一下修改圾叼,如下:

mysql.cc main函數(shù)下
MAX_BATCH_BUFFER_SIZE 已經(jīng)定義好為1G

glob_buffer.mem_realloc(MAX_BATCH_BUFFER_SIZE);


[root@mgr3 client]# /opt/my_mysql/bin/mysqlbinlog /opt/bin/log_bin.000002 |/opt/my_mysql/bin/mysql
速度極快了
[root@mgr3 client]# /opt/my_mysql/bin/mysqlbinlog /opt/bin/log_bin.000002 |/opt/my_mysql/bin/mysqlbak
CPU 99%
位于192.168.1.63 上的/opt/my_mysql/bin/mysqlbak目錄下蛤克,如果再次遇到這種問題,可以使用修改過的進行執(zhí)行夷蚊。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末构挤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惕鼓,更是在濱河造成了極大的恐慌筋现,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箱歧,死亡現(xiàn)場離奇詭異矾飞,居然都是意外死亡,警方通過查閱死者的電腦和手機呀邢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門洒沦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人价淌,你說我怎么就攤上這事申眼。” “怎么了输钩?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵豺型,是天一觀的道長。 經(jīng)常有香客問我买乃,道長,這世上最難降的妖魔是什么钓辆? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任剪验,我火速辦了婚禮肴焊,結果婚禮上,老公的妹妹穿的比我還像新娘功戚。我一直安慰自己娶眷,他們只是感情好,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布啸臀。 她就那樣靜靜地躺著届宠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乘粒。 梳的紋絲不亂的頭發(fā)上豌注,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音灯萍,去河邊找鬼轧铁。 笑死,一個胖子當著我的面吹牛旦棉,可吹牛的內容都是我干的齿风。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绑洛,長吁一口氣:“原來是場噩夢啊……” “哼救斑!你這毒婦竟也來了?” 一聲冷哼從身側響起真屯,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤系谐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讨跟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纪他,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年晾匠,在試婚紗的時候發(fā)現(xiàn)自己被綠了茶袒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凉馆,死狀恐怖薪寓,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情澜共,我是刑警寧澤向叉,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站嗦董,受9級特大地震影響母谎,放射性物質發(fā)生泄漏。R本人自食惡果不足惜京革,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一奇唤、第九天 我趴在偏房一處隱蔽的房頂上張望幸斥。 院中可真熱鬧,春花似錦咬扇、人聲如沸甲葬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽经窖。三九已至,卻和暖如春梭灿,著一層夾襖步出監(jiān)牢的瞬間画侣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工胎源, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棉钧,地道東北人。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓涕蚤,卻偏偏與公主長得像宪卿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子万栅,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354