From eca4a30af03c2316113718f1f8c09dab07a756fd Mon Sep 17 00:00:00 2001 From: Han Guangyu Date: Thu, 17 Mar 2022 17:19:07 +0800 Subject: [PATCH 1/2] feat: Add auxiliary script for test-mysql.sh We need to manually switch six scenes when we use "test-mysql.sh". Six scenes includes: (open_double_write + close_double_write + automic_write)*(time + event) switch-scenes.sh can automatically complete the operation of "test-mysql.sh" in six scenes and output log. Crudini is the require of switch-scenes.sh. And crudini-0.9.3-1.uelc20.01.noarch.rpm could be directly installed in "Anolis8.4". --- README.md | 11 +++ .../crudini-0.9.3-1.uelc20.01.noarch.rpm | Bin 0 -> 29628 bytes .../01_switch-scenes/switch-scenes.sh | 86 ++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 test-mysql-auxiliary-scripts_optional/01_switch-scenes/crudini-0.9.3-1.uelc20.01.noarch.rpm create mode 100755 test-mysql-auxiliary-scripts_optional/01_switch-scenes/switch-scenes.sh diff --git a/README.md b/README.md index 56656e4..5c67568 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,14 @@ This repo stores openanolis storage sig POC feature test scripts POC test script for MySQL 16k atomic write feature. It uses sysbench to run multiple tests with different benchmark types and threads, in either fixed run time or fixed run events. + +## test-mysql-auxiliary-scripts_optional(Optional) + +### 01_switch-scenes/switch-scenes.sh + +Auxiliary script for test-mysql.sh. It can automatically complete the +operation of "test-mysql.sh" in six scenes and output log. + +Six scenes includes (open_double_write + close_double_write + automic_write)*(time + event) + +Crudini is the require of switch-scenes.sh. And crudini-0.9.3-1.uelc20.01.noarch.rpm could be directly installed in "Anolis8.4". diff --git a/test-mysql-auxiliary-scripts_optional/01_switch-scenes/crudini-0.9.3-1.uelc20.01.noarch.rpm b/test-mysql-auxiliary-scripts_optional/01_switch-scenes/crudini-0.9.3-1.uelc20.01.noarch.rpm new file mode 100644 index 0000000000000000000000000000000000000000..1434f52f27fc29d46eb9cb2aa11f167851059b0c GIT binary patch literal 29628 zcmeFZcUV--vNt*;iIS7#s0a>m7(jB)If@_*GeeF;1|^rfq?50j`Bp>p?7X%`G2i!{m1%00jP*M;G<2pdE z0R?>lyclEvMdRClFxCn{v4P@vg*N~S^ar^D1?Z2p4N!D@5Kw^rSUUhkw}%4FED(s8 zm=HwFS_Fa+M#4lz1^7j*MIlHbn3%ADkf<;e21CFEAl5LDu%NXyR0t*@gtQhx3iCs) ztV9vkNC;E_DGV1tKp=29l%HQv5NeHp!{F$8gb)%cgn$V0BSrW{#h}1|AdnTuk}xCb zLz_6o8*E2NtGjD1AkYz@<6qZb7Wm5oe_7x!3;bn)zbx>V1^%+YUl#bw0)JWHFAMx- zfxj&9mj(XhL@qBc;{jXz&KLZryom$|L_P)7O9KVSYmoO`@gM+-2Nd*$&U>KqBe z<`rJO!UR`%?FysiqxsQ!6nvmCT;a_tEPI8w0E*75Bwt~4o&_!c#TEVuP;`6A72X9X zy1o1g?_FVZ&Idi-;T3MW!bexQ?Ft_Q6s=F+75)WKw7iKce13(|^=Nq)e=x??e6i8G z00n~xpnzSl(S3o`7RH?`jFyeY5?2^)7c{@d6(;;cF&wY(l^iU{6-MW&0Di2$^(XmL zk7ah%jE>`FjrUWRU16Bz@0e!Kl0E+HEaMe!phyKo2q1$P%+R=6Z`eEO=;zP?t zW4bGxb%nXEXd6J${Y3!^$j9yhC^bOE01D`X!*PZ0{=xV)S6CUK06+26pL%SSEBxyU ztNx)R3|H9XPdf=(9(ufcSM6v$&=_q8Kpu(2pL%Tbt9Eofpa=GYE1UsPfDhXWpuoIH zegG8RAMpp1-M+%eE6jU^t*z=s)LIWm!Bu>>TYpd|9krP%KU`XFFF z{!b<(%-zn>m&F$5jBxxv_*kq_E>0{Swn!GZixVIU!2+}+SKqG9Lk z=>xR5yCUIs)^}5fT-VB z%+w#M1ndp`dBALXz$1A9>qVM^wpaMc-A|gU?A!~>g6aujl5EK>@hKX2Pi-`yz;6gA#gb2vn7$S_|7X=uEA=doD)=-FuD3V`9)JhC0 zjI`#5SqUKokx-x;49PDDw*u;|VOG`<7+h2UVU0kF34jCy#UOA2VT6^ah!tGGTF?qA zWQ7zFfIaU`2oxqHYy}ZP z=i>Q=|Ng-Leuwt;|5Q*eE*_x&4?q6fZ$fz8QE*4SvxxdOW#*!oUjS6>fX7iZ8PA_N9@zbg#ojsyW?0=!)E zE>5l}q`Ny3p#=B@EtnJ1{r2D5&@~EnHb{4mzt`!&d>vh2znR@tU|vWa6w=zx=Rdk! zHLJRt_yInbpI3-i5G2IQ&kF$yfFQh3UjE+{{VB{V`1@V}0P(wW(u-wGghQK+D%P6~gJCj;j~tr~I{Re| zuD_JgPrPW>{k7AqD>n3}hz83TBkch9Vxxq#V_}i-MglI;*~S`aC*z6sLmq%1LOT~J z7BI`-zM=xYo6>2`LZD!FHY{=|7{ZrDLPzE|{EhyB9i)UrxS(JxdPqmWeIi*DooxWu zh(w|NrvwV9bheSP{>|cwa?4Mc)=~ zi$q!30k;x%?tg#`3W>0VdHg4%fFb{@!G!)-y#@beg9`jF#t{YotK*0Q3;f?-AR^%Z z(Hda%`f{`b_9yRuv&uyN3uRrc(Chl2o}CDw?LRL4|AtlgUuQ*c{QtoQ|MM(_{^w=& zuLuzWslgmPtyuIt{p{clz&f@^{ki)mTL=MW``38|{$*YPz#3o{6!Q1E2)NULc>vy( z#naW@1BHY+-DUaXrdfno+&x`gT~HnXkKS)?kKYHmza5PJ>1p$M+d0_r{V}wKkbs3I z%-!AMPfr9OLl%Kxak6uFNBgDUBO;KlNM{7n8Eyxh1OKft`2TT?|9d?J#r{!-p(_Hg z2#e0|cNU8v%YUfp3*5pTVJP4T>*DOr;^D&LjPz!4g#nKd@VGWC?jFE#6ox{$6R@yw z=_8RW|C6NvKjvuX2Xy^oGktG654f#|%b$^jZvR_05fuH$`TQF;5&1_M|FA~>JQh& zclZ<5{0>a4&=`qeK?2<91^zDzg~L35?-5`*{a?%c_a4kYZPkCng#WY^f$a{=T@D?5 z=^@=b?SKQ`m1p^n^B*sut`@L`ypSk&v^jyJ8W0)69X$~Mue`R-Jyk7bAkKpWE&}=6 zuDrm5PzBD4E?$6Wfa!P42lPbO{~7O(@A{7s{?q3DI}h6VxU&E!3Ah7V1660>VZt1* zHZl_MjK9xO=;JLqKK>sI`rMBGsSywp|Nfm25Ig_=oemH)|Hp;*x1-&E@#`b>82@zk z2kNl?cGmtIy|M^MOVL;#q^BsWps5Hl&{og}A$?#@u8v4v;9UK;aGY0w*TxU@`!o(5 zm-znNx!b}}NIrxM{GagE5dTL#5M}cLMSu?k))r&|+pvIL?Oc&8U}Ko0Bk+ktphKG@jx4p_lLNn6iARq39EzP6#ByrLw~{ZGBJhN_&riHU`*zP=*B zp{=FQ0=7o_z>%(hd@9%)SoLrRFz|?hgRzGT3JkoIT!0M*wm~7`E+_=p1`Y?i|8|tX z8Udrjb$7|X1s!}qJi+Jb;*Kt0V6MQs1&IK|;R64!j4)?s7r;h;_?(~+7O<0tr!!L0 z2I!5lg98e}+*u0qfTUIBN8DjCG*AMIvH*z=xC;Ua zyls6vSkMuf=Wne+2w*d!jq3}N)t6UQ{oM}w=Pn??^w!oaK<);J&VVNZ2SPLe*g3m; zdfZ|8dsh}N8$UZ&bYkWziemv@ps+hY#>eMBDgl$+`IEx|lmbGvf8j#U^}oG<#0vVt z^YpL=Vi+I=fP@Q*!69%c5S0r9fj&AkWl!Xam#UKYN*=xh^%pQ@b zGn<2GuYbq355PnCED@MY$HD3Y5J_c9e*(T;rnM}(}~u6Z^2Tib^rBf z0?y)Pa_{bjsiM>!W^LS8agw1Vx9wr@ zpTi3wY^^m ziCMEPxvo0P7~#&R-po!0=N$Auy01M>2_9DBwur10@}eHW^mMl#{N#>vm}@`rZ1pqq zPWu~84o0f>D5-to@sP^c6n{aEIm$WMx6^^_En$N|iuDh548C-C%P-zaHXU`^aw6y2 zpK%g-eVQqoJz*VL%eyGjS#f~DmYv>0IzRf|t8w_Skj?tCAKzf;wcYEt(jI=eu51~4 zGoFvLmgEFmGFH;$#MTRGG;stb;YHm#?#8gQPN#0R-H$xgi6z`yWggcayFR%eQgunl zn9v;~5ZaMs7lz1DR3=l-a&-gW#qE`O_1vGpflIw`;M)IR4? z!E`nh&GxnQR}wP$wx&T`UQ0Qteeb!1OBe$YhBKDH{Hmfv&HMOX3No)AkEm!Zl9O0r z1lXZv6Hf9Xg|||k+(c#+$B{vs&`gXewO!{c3rW9+z-t-xZDpkA+jl>PE}nSeMNYKW zY6yn-`9r0>rFC{aw`YYVQv%EJX4Pk`Vcc0Uoz^`&5*O7Y$#7=!5h`-pdGqQw1` zPel_cBg-?SUN;NrMq|5j`e5WW;uW8THSN^k~(JCARTvDEpe{Z~T^QneB^JrM^ z5!*@Iw6$44u(ha9DDDv{S6arb3eB(hcf%oP&yV^a2%JF1c{HcA&RdP=jHNms5F?DT z37tU7?n1J`SuHfytS(qpC4r-Un4~-JwRP2%*2el(9v*ZLd(eAPErS_!OjRhhsXpTO zs)?0v(~u1fJk(=y!rNtVY{Rn~k%j4%gNuC1pC8@% z7-cbgYTaAoz@D~D(xVtW8i;@T0p}@42}bTW>{96HUO?mIv+bQdAxc-hNS7VUj>X-C zor|2W^e=Tdmt|h0($HcO#TTXemKNT}a=p%=Q0kQWup|5FiRRr!(QHwyeo4(okrjRW z4uf7kyp2Td$s$r6Uo4>ElGW8CP?w()#w&WR+;ajaCC(7Vy29`(8SwsP^b<^Cp@hRz z?I4`Te5RXyxEu+Bh3oD!2~*pdel95Y7Cu_`j5pQh2O3q&!ng7iuu_z+cdKi8IA^P3 zt4v_Iv2mWYn;aZI5AHrCel+v-@gn`2yC{CAv_reBK~}*@k@QEJMhQaPqy^%~%N}-m#*V9V%LoxNWS={c{n@|o zo?(Vq^yw}2PH)#Q8eXi_qXz-_oh(BcR&RQzR65QAa4dJ7IzuqV$*js1`zs%+88jfc zXT23g%O~cgwZt205>)AsXNRddG=__>6V-lHw{jXq>(1SzTkpRxjSqXvLZMk5=1sWY zAA0>W4}!4-s;VKaC^SVmX1`*wIdaR{mxtE*F>AsT=jL|PaQ|*x!Ok)2eglYY7x&&W z^l?B-%@Hk)xb^m!EZYNbmgvyawdHcT(+xHZUGi(iXE)c&% z+%;Ue`O$r!cTbL~jtvr-EWf{Xp~KucqJ13B@a2v_p1Ain3^~|S=A-qf1-@tM@9%!7 z`l*!oY+{eoXTrE!LZ~6SX?=^IAFeTtcrW~Hk75tAgUw!?9*@*-NhGISby4pHO{tTy z-U3*6IR0(_^XGl zk%fyYxM^hT0=JwQ-7#1XeQjCmhu7u`XoHejOP2`p-pg04uIseE*QewoldTPHiCevH z;5#a1O58sHiqlGcPd5CJefuq&siHXRr?ir@=L~u)6I7PoMA$xYI zk7ITGQO2NOyRs5$tL* z8~c*^Fp6jKKPPqK?kd|X0kIsEMn94SVCwc@n1h`I6r%H zYsJj?@%P115RXRMlRXJ;BIjtM%--1@8bW4&PBt}P2h(ZI;8JY*xtJe)W^JFF+1dLK zKP3teFRlbGeq_(8Iw7i48QplIXzLPJ;A@9Z&)4rnh6v(*Kfpge`Q41)8eXD$rz)iHCP>T`FM?Zl zN0)J^Id3n1>7$<&!A@c?cB!+s<1@<8*SZP;I|VdDg+H96nIbUKMJU%t&0B*bj9$v< z40yW zYyYTO^GjYb&AmT=M%iFXV*I!_RKY*yWqD)%x2`_CJ+G4kSV7qwR@wTw@8t&PnE5m7 zjKZD#m=hCfj6BhamjteuOuO@OvG)^bZ91gLh}4wGl*`T)%Ubcyk(j|MSyuOYzhFd5 zyfv^oWQ>XQ1ci?m)G+)g&gs#5e_YXUW|Z`ZY5U{UMbn|%7B-7Bf#1y;*6N|prW*54 zuH`?z8KEVQl9SowSLpQDsT*~peW$A0EA^oc93rMlIJh_&Ksm3!+x_YYL^fH&^2F() zR}v#otGLD&@Jt)q2(lGlTzmnAB57q8Fb>C&qdmPyE|;>aM()sZ=0^zWXX<-8tv z&_|9xw&y$P?K@q)bE4vBSYPYUi=gnWott`!8o8j&6c3*8OqRk-1zQ3R?o-!zGmtDyG^pm zI|Bm}!6UaFIOb1y#s$}QT_*~2M^8%^aiSbMJN@E+JY0Um?C#I(3@w6{E+9M)0BqbXH(A8dZP*km=Fz4_w6Q5;QgJ%f$gk1(d9X+9P?EMRn2&SVBZ z@{re6WZ~=+dj77}o!NNv9z$h)T;4@Uc#x)5f?p?!nA*kyDwe695*-E?)@I?M7 z&$yYML3|*cqSYjDDL{ryV!Oq&HoTsZBlk!BbsO12(JdQ8R($t1%e7_(QJwxbS%=-~ zvPp!AoHANdc~QMQpv;F#+Js%;-V=5q1u}goiSb+Ss0z$#u&!4lNKY_0g~C`q!l{sU zT{BmZ3BCy_dX#h&OeL^}`%SxtagHu5dJX@z9{YF9z-jUVOEs4^`_a@VCD0YW=u`Dv z@!X5D=}c*bCzH`{#U3jvUwbdmLS=aB*5dhu<276(aPk8~ZKS(o3Y|?BM^WgfGF0Iw zD}F&@4yCGU*-peYtwd)Id8xGMpU~3+_d%wS{l0oLFVf40{g_qwUw#fGS z6T=cWx@*yUfcInnNi*K>67>JpMcst4^+UQVR$rYo|~a( zRJ@s8i8WSBNR|t-t1lUiV7GfhCc1CMve~#Lq2g4$fKhi3Q-zc($rkqaLd-;+7-uHq4Z(-%oo z_$AlW*0A0t_w;}b`^z!lI+W4amhNZDzIYjMNyljJ$?cu6ztks;E`@;v03eyt{l%lHsv6Fh8jO&x4 zr&gO{YacZ4d8v|il;$W%ybNTuH&I#Ou6U+VC2utUg!kFON_W0F1C-dOhTG`YgVv3C z$z%!qNLTqw%ECcaIbXHbr;`R1)uE@A!Zm?xt#INoSkPusrhoc)QqHTa*0^X?ZKYj^ zQhr7WTwrZCn11LD4H-oOINC)b@kJiRNOnw92V0`@3e0!x<{)I*!8_53Vx!Jg_LcGp4SS!s{Ny&JvRq3W?Xz!c#h63JyqIb` zRV|f6qh=|v2%Ma~>oFQi#c#x3yWZoTd>yFuNCKpzMWnI7kzUTJpJXBcgH?QA(6&U@ z#CSw0s?%!XS{z5Yf3Wl+>dW1`J*iwV5Pg$KPt{l@eK9c(oEl6ooy9sYB~A46`hEQA ztPQ6eo9a`N5`*ySYa%n(qw17yI8`isit%GD+csCQq&Jn*EB{Hkm38ZddIT}udrKdsO5feMF4cFtcICxqF@5W$%T^lc zp|VdN@m|CX;`Vis0po7+_jg`D@loMc)@v&arOvreeZodvb@9ATlS7H5woCQQz{#|u zMI$j!R5cOT3Fl(`1uG;*=Il;R()%F`ZKap?eH`b3KUMskI{Y-3OQFVnuvznOAO?n9 z+qny?*`JgOW7Z;%I%4U0v!0Xb8>v5ysirje4ki93 zNn}2RvV$r!hOb+bCC*9Qcc2(*d5AHJt{fjNKdMNkhzy=t0`u_i8oW9zc!SM&5n=~l z*Eb7R>Lh=zj*d~2T5t05=IdX;YHK!FFTOeRH9IbT7!sYL^Ns36fh$LsTvmAEua`?t zetgaEUe^93Ba_v@f+B*7VH6XLr(1t7(Yp&WbL2lbypT3{ZN$gsYr!v+9hjZ*-lI3< zLndpqhY{u29^SVJiJ8J_#*b+b0pM(IX7UNolgERPt+(fevs!JEuR+s0yeV);1N}d!+JX?j**4wOkfrC|`JO2(Ijyc=+o^ zbZ-#x3P}T>Tz!v$-!01b_fw`_49-sFq-m6r8|=^Ri$O%$O?;`j(77DSR5A6U#x{No zlMF)E`dbM(Q&GOM%HL+8r^N?HHqJj8LU2EQD}EGIzDF-LLi_U-vBPr*o>;~EN?n(Z zoFPkNb>Y&uewp6#*F1Ypeg)^;s~&1=E@)!DIp>zz!_l}LA2+{D)3zS?=^z5vQ_|tV zWY72NJ4Ps*w`aRerr>i2yz8WX&&e+GIc4rQTJm|l1YrnlO-0z1LVV1w2UlYi3tm%x zM9g+~z-Y!?!$k7&$BFNrNyo_B*sRZ$+9n(O^0KQwk&{6W7bM_e&YRMs756?P6F*g{ z89WKE-^2jtMHs3+Ik?^v7bonoG2lV4uWu}6kZ2ew?NywY$}Yf%eWPNf%%W1j@K8fX z_55315oKTkyALXlMmWrfr_%CSh-};oQHx?}zjvPDf_2;?)g&A|jMF8OY>IhRpx&c` zCT*)heQbQ_okt7}sF)}1h|@6#ekx3Xhri_QRo34oZPwA@Q2IM&*unF=9r<`St3E*csR<_oJ3%wni(AUA zhJ$!`1f#DInX;B)qr9@X>)$`xFW=f_Uaoj*4OVW)5Z%hKMRFNEKk2)9{O~3z^)+a{Fq;yROr$!a(RFqm3{NasiV_tO zR~f&&-g>GVce+Y}oQ+CHDEhz`l8Ug5=sD!qs>64g3F}( zayWGpvxKw_RN*ojbT^zd^bz%fXwVr$%IZ$d%aSI4Cn) zT+u048EK1c{Z{B(*RRc{seZoF^PxnVIp*N;+@a1iS8c1LvL9QXBvW_TW+q#zEW3RI z_k)#}oW(y9E%?UfhTMJGcf-_{f=GJ#h3wx~3VW_Fc;QcV2;^dEl?JeV`%a*rnWGam zSAbDeD@@14=$1@rnsja}ikoq9U11{7Y^INlwDfkLP~}8bfzI`O1%buKTF=UH=b6<| z>b+KpohLupV$>BcCo;qec?h9xpYy9fq;mP(^~Cu2i}*kd1Jk9z=Xt>KFDw!pHYi4m zQbE5|VLdesnZDAJvjoVr?8c5{yl<{zd9fqQ^n2o5)vgFStCvwh+Eke|?ggG~)`{O+ zK4a#G9Ipf>wWo+VNW;(@GH2a_Fs{Tw1Y~UN~{Niw_fZg)g&1dTUGl6K6FT>!@fJu-RIGZgKenmreq(apy-LdPBh`g87e@C_?y0vETw`C@E@AEM z`hYnwSQvLs7N|RB@&m#t;uf%{_r{Lymfo5c`wB<<_MM%;8@1%9N4E@f{9MS19twI( z3fz$Dg~btFWb8jQ8R5J~mZRu-JIl2AL!!3PahdiBxAD4U>%7HHDhl1I)tk3bV3OTQ z-uTLkd(rHU#Hy|Lut6iAjY{Mx3j7Yc_5V+j!SiwF23cLKORn#B;~%qi=Kn;NRl98dYz(!(@3 zZ-bo1-aIG%PN*BkpMiUu?OJctVTILUhyo?U_f@I=%4n!OR{JeUKgJDTL#|^dKcSgd zlrd2iK6F)iT(rwRG`H8j&V8rmLz%`{xfK}|sJ;!mwnN` zNqCl?sRBuHDIQb?Yo@wVKD@qmK7et##(@DHkZE*vcy1G*-1}2osq`k^NwK)%O{}%b zPZ~|yQ{ZGUo&=+wI(sm--OI2&Y%8wGHjkA&!^Ml6o1b6*wk!>N}TqWJ+?!3<;3sXxE1@f0xScZKrW>SBdR3CrMcLx8_97Djb<*PZxeIAk>gWH827!KYm7kE zj4HV`wA@yf*_0;i#Oo=+h5FxlC8**x>(by!-8MNP zr~eqH>QrvLYbpEmmmzVJ=vqxDLA(!>~x`ep*zl7ch=5N2RFfH$2+M$wbfd3VGOE)P&@*TNA!#CF#x}#yFWP25* z8qeC6%PUEaDuN{Jmc_q4qej$%_qnfWUuX&Pz?6Lk0TmXC5~aHGqhD zLH4j{(slxBYGHlsyp-W_v*vM8U`^MV> zS|0yqJe9gG?f&g%mKm=v^7gU8fj`27Y_voe4aGUN$lBGb9}dMcz1(%w<$GCnt9#r4 zc`K^h;A!Jy4lIW#cJ0BoJF~Mw3$|FF%lT**XHhHN3O#doT3$Z52n*lACB)i=Jmg5% zwi}>Vr1nvmt0sLUZIt* z!WVQ=)drtTSe|GMGHr8%WLvKFWsis@8(PE&wiE;saub6Yquk_lZjA7jktY8-Jx-G? zjueT41*GOEzT|S!x#>oiw7IpnOmp+Pj#aqjlNp57!7V41%;#t7nW{$*bV4Yqo86ta z?KCFR7;1KHOQgv{#2)t$&)YEGzvd7vchZvBnr^0#v_f#x6(RTz~a;|EqWDJ zU_4OXM8o@K5u+C#+K>+lOPWeMJ-N-pyp8PiST0uWhIdY#t7AVsag5(n6&MT4U~Yg} zG%WsVQmwDv`nZy0szqe1__6(4|G-nG)tqyZA~XN*L9j)M zja>owy_B#k0xlj$&)rd9`#E&3ka}l5l2>d!>_*AkSfuEFc z8yTFY*B0CdS@XPWKG3fu40|spZPi=W>BXNwf$wj#P%2U3{wXTiZ+bFsu@tI^-IHlBH6_0vTl-x%Jihtrf#!5D^N~_3mc;SOESx3Ba-62pq z9pSQYI4Ifhb60=kNJB#KysbJg=v#3VK}%Y39-?CL^}A<2_bqoXac+L1c?Yp|h)D$V z3necQ6oi1%6}w1+sK;&e@v)u;A9!fAJ4`Kv5f<1gMLu11UE~VrY`He-I?HnwaoI1E zrEkae+LN^}w{dnyE$M9jWf;7(Kx*Fa<{4Q8U)#W=dGAl@UcI|NDFWs;U72)1LgO3Ih7yOyn4!*ty6N{w%?GzK!~i#+qsHXXxk?eq2a&zX;k>>qv% zN;s~N!PVZqfXMzjb_ZLJ%Qe%Y-aZS^JT00=Nj2ZF-H;9EGZOqHPm-0T?fHo7)0a;L zzB{@<*>L(FR=i!BD7J+ETHU~9TV$EIo$}&dW`9a>E~*8d{rN`sv8s;3ZlNs!Q)}HS zH&fK>EIYw#3{MjaSJdvdVBEhz5cuNn^X+}2Nj`XrD{BX?3(_;5k}Yz2PlgIllbI1;WKbqy=Rmml|+(2%;6b?ijf8V$q1sH!Yf22VtA(Xdbd zF;}Khv$=e$xW{gvCY{jhaOSsmKUI%SG`9dvihX_>7rO_&GXU@5B@_LTdy#7W%yWz>r8tWudOB%9?7bQV}(4`*Nu7kw&A~@PPZr0U;RdI2aNOjZsO|(S2KC^C_lutZ%=> zQ{0(o%I{4WVAczZ?N@2r5F&2&uMvn%u3ux)+o=>$kfdW>WSyetg_cp?Imz9BG+2&P zd0xHN)H7Y&|310AubmA05QHDNJ8D;r)0Vd2^(=h@CRlZ|9&bJF+QXtLft_26q^|`y zYmnFJ-&nmDn=&wFpw5@S@106WsbNn_Ij|uulXc4$@`8F;?o~_OON!!>WcRt{?>NKL zBh1}KQBSUOj}GRw{pdY-E1Jr^w*Rn^p@HAYB5V}8+e0O3LPncm)UE|@`C@aX(M(|) z-T9qSWVo`xPk%`_S4xhUAvC666%%6cx!#fPFsek)JdGxm@Oc#Nv-v22$@b9B1A!Zzj@_3P zW7hfvdxvx5{?4`Q_2Vu(-*SXQMU}Jj5=)sEFQy%fgr19kK4iR~ZCvD|E*_x`&F7(g z^kX`}OQYk^glPuK1)m>pbysLm6Uf2x;Mo+Dd9GqXPvtM*cm2lA4o=0)ZZ2oWx{zKK zj`aO>k?yw-9`JOnU{51+}}qI)f30Jf1MQYNsfr3v#OUF z6G%2L=t*9FMMQ)7cnxRD3^F6YCb6X2T!`sAosXtwoD_1BW?U} zc%j#tKw5sKA9It)4PtwjTZx1{*bmHd9N@_tIkDp>gMA(dcZRxMaQ;ALeB$_dolzu~ ze<^gwGUzj7nBeuk7? zvDo%``g0YQ5}e*z;tZ<`=W>6Y8q^@g;rQq%xA@lOV_c2(a@zf%78k(>Mx3GeqD3b9 zxb+IO5RkfQ8*7gl#3AZgk>G^JOqb2J1*+*h?TjNcDW|ep-sDH>)Lg(4q0W7t+5=LO z=t2rzk8AR=&#q%|Y{itIUOMrgROP2GWp~xVf6->)Sm5d`OtOUSCmFOG)wJ(C^sZ}~ z+IT9)r#P<}jCI+x_j5%si;RKl6T-CO8HuiXx*mBv(Uj6S~zE`J-bQ_UtKEb~JQb#m!oe$~5q*zX4?pXr-aeL3uU42jKO*0fW*%qcd| z|74@m*{*%Y^iJ;A%E9X#BIOi=g(MfwC^svW{ihr$SQrwbjVc23Fn3Z}xp}_} zQ!HX0;WuBi-@ATZCYzaz0KT!67mO(m4e7C(#l=b=wZYm1LsbIm4j*^$r@}-vL&rrz z%GvUdNvV|WPvS&`!>B8_8}pMAqDmCn?_1V?c)|54mX~D9_XOM6S^RM&cfndlvdo02 zqBf{ukO+`-zJDqcp540_=v1^W z8Pq;w(ZUwzysN0@DK-rbnw21W_TthYTqLLqTT*8X>1%n`qWOVJLi@eKXz(Y zVB_gR&;F`?UG?I@+h<{EdP@Su1sL;lwPE(-{u_rsP9#Rgw)z{(=+;K4~!Nu=Lm5UMBMTd94v)A@&0+Jp+<< z%SPw;bJw9>n>6psp-At>mWiiAKchOvZ;O0!H9z&^v1m$i^P&_kQ2+E$1DnzSqcqF* zl@P;nKaHcW_if$J0W>FyEuEhda_#Tnu>O4bT3~y@i#^UrqQ;yDz6fbF4FQWVzdl0M zOq@M*yD^1xkdTP`rBJ6Ct2x17a69=jogYViH?iZiIaq1lgRGT;RdH+%J~ zuPl@RuSBcl7XttAFeS+d|8h&vex!=>?vwy^)p2?c}Le<%QcqPPREOcLQ zIyiD`eQ^H*QGjeQ{@HLMvcUE6Z2igiTkE9+?cn4C&tg)J3jvCEnWsdZOb@<;DQUZp zFvG%x3dx%+Q_OBU`I5atsK!Im1EWQ9wF3ytG`VyyuU%_NW!E@t4lc@?)3%6kGI_A; zmZL|Y^~^c{T~bwI#akB^dPat+cB*IfcrTLS4{#pu)~e?|)UD=hrsNX6uDPJYJeH7h zNpCqwiL?AO5FY7drJn-5cERJNoSyf~jW`I0!9cfrTdb@KOsDx^{H~})^ISi|<6amJ zmbG|GOPH|O^!HF%lG|HSX-x^bkZliY!<-@mfv(18BM*tvbO{^A+Q)9cJ_nK?H5K-* zK3_R_p)zFfb4MtilNw*#tp1t%VJX)6=WkOl%~U09a9Y*zGcCjw`R^tcnBFnnQ|;L+ zRl)mA>%;nWzCWdiG(>UjU1a*^__4D4De2i(I`5ghQ0bcsiR&qrRr``Zv`v|E2H>%6 zcTZf4h1!=eSvfa0nujAH{;S*2UC%q;V40dl&l>Lc4EhH~GIQWWC@5-v-*#D{hw>uj z!Jo2S@sTxS2adHLsD`HXSnsXAWt;AGYX6+a1qrE`2$y>m-eimuUo-AIBbv6LNa3)T zKW6xDKFxPH#$a84G{zRAQC#Bd|dsmQ`0zdv0o zLaJZ6K7`KEU1`k&OaeVPnu;4I?Mha<^cP{WPb{ccWJ`huKMDPLH`%W?77 z+P3fcGMdSde$=LJKSDP9*i>6gpHz-Lz1N?z7EF+%9ma1;xGulsA!M9H{>rQ@+(X9; zqobji9|J#9%KTjIjm(XT22qB?wOH$q1|l6gAolxfN*|kLzT&n_s?Ng@#Jv}#7#d9( z5!fgA-JcdjS0hvU#71{eb>IqmEPa8+{QOk9WzE8q5fe3Hg9kRE_t~-55ypzj-)u6x zTxZ3CRbbcfNTl=LceIe*T?6xxS-5V0qK)+Eg&bwwYw&y=!Y}}{JSn%*1+}7F;_0*a zqX!9t`mp-*sM{* zW&3!I-LaiHL~C&oBZf40P0Gv`rpeUU^d_}?RC!_Uwc6kpJ}1RI2&=ApdeLbn(JT{j zTl4_Iw4(0&`!)-s7b}yCtQenZ@asGSOdsA2t$H<<_S)RXT0V++nEH|Vj20>M$oo{B zC3GmjKt`w((+n?R`yr1^J=0X&6C|dKNFYDCtyd=A)`=b6BWAoCcTRQ1LXB=MKR^13 z`HO4`MR8F+`*fE|ZBvvB3XP4GvgWbIt(`Q8ZWAm|bXU-moAC^s$uCSxQL7Z+Yk@)t z;sda=o(vWCf%Yxf+Z;IF~u-1M4J!ql%<~;Z$ zzNV?0uQ?b+{5V&3Y3&XLj{5Q{HtkPh>~9eBa;pcA_1ET%8N%d7%*Q6BNqN;wuy(XN zKo?pIl2GGKx8zC>QjdC?y zTOtYLU8&4XU6zdJT9Bt)Ja?T(ZoT=!>TQ6xY3ZNQoR}ADlKLv_v-!5ib3Nso)^~Bf zuF6?haz3y+*3)YkiLE6G^;{CcJ1UuOu0hoatOzU*Zsg)TqyCu6NAd09pyGk^5!)HnnGw-$E|!R;M=z@& zNmWIxGm0jsWjy7sbe32!n;YqKoQUf~=e>l5RUatbI`Ds}ZD3#EMi0$uKy(xcdtUCy z8|jdyY#rVsAc?K#e}GwPd!Co`GHSskxgIxj=$^>y+mY{yNp4x(03{S^3NCYFN092w z@#|;u*JX=-In?KOh|j^>tS~sA$%*KB1?|5X7`@rfA~9bti%BD*dm!M}5q=?h?$%ut z=nDT>pjUfV`s)6QtW#<>a*X;=Fxz@PGG-uL%|YOGj+nx3x|i7cQ7@bDkDNunP}I;) zO`RA~Jn8gv2yfFRk8aFl(MOX8CCaK?-qLUm4c?~GO=2P+mZwQ{c}Bygq$*rCd;0>q z7b{MzTg0f8%mrmb{ z$ej#t@{8qh7x&v=j2b6-m#nwDzsI>F$q`;yrx@XByzv^<;AyY&sJ6&f5Ct7w@u{$+ zssP1po+tRF_USP_;|_i`MtW0M|9Jk!+`Px>@?>wk0-U$7c8u%8dy`M*Gd8UCGViz8 z_6kl?SiE|QYB=TE`fxkPq>nkS?^4%Kr>~Bw)^6%7RCH|TD>UuP9-vj!5zEhz$Qq||4Xsu#oNZt@&*WdnFu&i zf6&Lo#q6#SWyQbpG^2QGcl{;Vwxuio4Q1i$1MvH{^c`(eF}r5TtPJ`Cx=QhU}fVdYZnz&25yqc`J=&D?SGvRJ(^`|?8& zoKUN~Qe@LgH+;B8vnByS2GdEeR4ZSPJEYH3?ElVcA zYRo&oC=`cPsXaoDusq`Yz@Z6kc^o3j zii0RSVT4CDP|v0FR#&MmLy` z90mu}$J?8$RH|QKM`&GdIrUB{kgbixH1DSEP}(C^Xk{jN|HXuPT$9A;XLoSIHDA~8 zPJVo^LCkcc1rMFOuo2AL3B+#Ra7%DjK!$}Ia4JT- zA5=qvyWu&X^98Q%$!&4-eXcgxyq*aiZz_7Vw4!Vq^WKEyaWB*IX&+ytul6K4On2-A zsDIDnjuc(UZlWH?~rND!91uw;tau^2&I|p;OlSx$)RJazE@6R;tAM9<@I_~2%Y`;E&-8K zttC5W^MxDrHd1QwSM(L6z1E9&0LpeYoaV4JevHP(~r$dW4kuq|#d+=ci%*gm*T<+F{ZdHDA-$CK>lBY6Mk!f<!6Zg2sB;!Wf)ppH)W7s$#B1F2SVIakp-Fo9%(KU^*yM z-O+R{$>&n#@On6-DW2kS1E%+$%cT`o-m{-x1_fUs6U&`Z#g@McN13uRR{QzE?ex~t zDG6>?@*KxBSMEL19sU9N;~`D^z;r4$hL*A2mTVJX@^L{kNL*RAYl*fC)^%k{3@fLrc5lOCZG+M z^B}@WSiv25M_*y7mut}jv-X~#aNr7eh^6T$ zgyx+W$&oOq%r0AU$2Qg@u4MwI5F;XUAj#fM#lDv)$+dAQNu!Dx)#DfvhC<{@)+{%h z+@w`|-dZw2-z$q3R10T^0+1cxYoV$oV5oLlJPo@^r~ho3IVWnZ##kKi-F87eYgcRP zv76PfVwlxPK}y6%7+v^TB)XHe#zlbf?FcB#(iutxKm#Oakcs-|edaw+k*4k$h?+^d zeW_zhT21r@cM)eZl+T{UQt*`n%-xkfW^JZJPB(#W>N_4TU-ERgw4&<0!%oZW*5!XC z*|OSd;>hc`BlnlA0d$Gm+cxq_S(}7EH=T=mT!7mc1Km06E0+x^bLKPhtVqsSU)SCX z?0I_cz5TBL>ZIivAiomoVgJ5Eht(}Eg#yUpzCi>*C2lelSemu8JDPmcc3 z_O&^iR9-tha4b!aYSTfmB>^K=YWJB?o$J+`)EeBv88hM~FR(&h1rG+N3UNV)9F;21O7x5``~k{FOu2h1e42v+B&P8SKK~T9zxsUy2z)cRfF0}`%~-&SLQ&&C zyi)We+OaM7Ux}A~<_rR=_Rw4MDW~1Y$jnqypxzcPztlR_j%{uxNK54qv=&n??Z)lA zjZOKgx~=Z+J|o@mnU&Smmi!(Ph4)3d`=rr*)vU8EnB$;HfK0ZYjNO$5c3^t;&iMuYvNeF8*3#8a3`nf}sQ#QMFT>n= zLc&uwUZ8JWhJNoI$n$RYX(NX*HI##s21?zXq&h99R;Y`N7qduKCAm`7SqWY*#ioHz zJ>m}z=D0L*a4Kc7pvAhZ1XhS;uD2R7K6C*{vkp1khAUbU#^ok2KK!_u4WDj|Yv;)~ z{vTD|-%)g1bHbfwPXfz6!HL!+c3nB6@R!4PaxcMn&ms zc(D&8W|@q8)ekxHo-__{k7#f5lyUICr8p}|+%6A-+r0EghtCfV@~6@-j7qTpuO>M> zmRdk#m1e(2`gf3yMAVP2o1+*LZQS25@z21Xu^zq+>}Pg?9MQ6^)43q`>il}sZg|$y zU1-E1t0GU`UkH_j&>6+S6w4j?HRM#UPxlYV=1TkC~Kz`Hb$aB zx(co4sT?K;jLa755$5daLv;LE6(?l^&WTly<_77xIhz^SlldwlD@nXtmk~V8sajM` zqerT^dJls%iyE3xWdk1>Xui&-rlwNWw1Xgt9*5Ll2FD2P*JhBG#pIG zkpT1f#6@KTEoi<$^S&%*=h)7*&TzgE{H{58MWauIOAcIvv&Zw^%6TCUF`=&ar$sRu`pp0FevfF(a?D?z8eyeVu zlx&J^qESROUpmDzMDrc+eXk1K&a?uozT-K7*}0&!VmdtW6l!q4iSW*r@_FQ?)ZrFS@U^_JDM0#1@}FD2erYksdO^}z%!3i?4ej)1)Dg}JkAWeGMfQ} z^-qo9r2&|hWl@ND;GoGS={B@U%^EWoG>az7SkLdO;&E+$&QwIXrpO;qRwQ zE3VY?P&wlQrwe_LeXQ{7E&k%f`4!)?&vwY1+9Si?!1QKi<#*p;zpNBAosW>-tfoO% zoEV}7|JmXy6XNbF>l?3`LD0I6e^QMW{(r^~vmi4QTi$5jPt+%Afgts%u7fu8Gaww% zhu}?@X-|C+*E5I}l5@)O8-7SP-My7DR2cI8gXT#1gv*CPA@U{b)V0!KX~3whKo5eK zCwrDU24$ErJX$GQ}myZyH0eMEWWF)niMA9u18X};WDmz zjysP#c<#a1*jta&2r10Lo;((E30?jx5l+eMqr$F(CiH&(f*TE>bUxo4i1V@UnxIG2 zy#@4!anMQQ_ffi8O?}8V%y$!mQzx%J%k+{E?pU|@@c5GEMrR-EVw@f7VgxWNR^1*e zU|LPJl2!_suTV=TUlP+Bq3gy&t*jV;uY=E_{2G2hAi%v;sOj7q>DIfrP@$qeAH4LO zdPqmtnF8?N{r3GsKRP=}*H|PtpOLOHYg~XYp=uw}W5>1p7O#wgR&rSqb7mT{$EX<7 zdV!%-_AF0*ho;n7wV{x4%mpzVK-7RvNLjfhhamv@S3=j~{bv>H6?FTkiaqxtoEm}b zz2^}8_0BR%l3BshVJmK=3z`YVk0A=k4^A(F?%)Y^ePLpi(j1V+%AbTnTTqt7uLcB^ zKvr5+_0CU**n(wFUpk=6|_U|*~~;e%HS`8;vTEt z#=)IW{_j*H$iIm=Bnfi^c%^p+R`APv*?npZ{j*O|Bu~=uYA8D_B_6wHV!XS?CgxZ@ zan@5xr26RS)F~uF)etRs)ZF_&Wol zuvbf?(fS7PRM?RqHI2Xj9 zv#y-75&%LlC|-AH@z)kBftTZo9;AjsszXiu2W2s_bD{(RK#hyB2WcpCDOkC+em1E~ zPbLWO6w1I3*4VUvp)^lswS)PWS}9ZkC=$Tv@bMq<5OxYE=$xd?wueG%WTAS*Q9KNJ z_6>!DcCdWOv2HKjI$UU6Iq8-rx z|G^8e*aCz%9(=6vidirPN>1|jOm@!>+bI*q;ezjRTz-Fu^E2$xsu_l*I59i%9#UO9 zfw;2#XX!QKQNav?F|Lzcq~LiQ1g^IVG+421Zw&%b)88RY44g35Pq{Dcl!=jkUDU-W zp#V;n&3XS9q!cW=pHl$DW47j+&ggbVz^V#QLx{f063gt-)8<(t`YhKq>)8I`i|N^} z+Dw|3EvIh;b(5XfuXhLTNc^2Tm7Pq>?t`X1 zZ?NC-0~<5xf|b>`RC9czlBTRC>os!#6Ce`wX8lI}hLn7ut3d=E5aVJ{oB_1sTse>x z9xgE#OS!FW!y`lZQ z`KVJPWUV|^Ybls9z|nL*+uUb*BE4@5h!L?bTHakA`}8HuEOI!46u?;0j8Al~i!qT+ z*`*PaFyCs>3kI$2M)C|et)8gZoM2>-^w zGK`oqVxr=NMGbR?h#lYm`qn|(ZM_(@i&8&$T*2rPG%v(!RIp@q_q&S=)QW$~cMiP&A~hse*Lc z|H?=pbT|=?qi~j=xj*a0TW9VVue>D9$?9?lo%0NraXqE`?^pw>cL*Q1<_1Y`7X zEOz26k!vr=_mTWpZ~TLC?HuZ8lR=*H$J`}wZ6n#Tc3M;-Ujyf%E^>cUmip41q#ehi zO`+f3#h^%*D-_RCh5kCV*hD2QS;=7uikTU zCqlf9t|Z(t+t-OmyUlZ6VcO}&vzWm#eUUioUD0Dob1vSMd`py{-WR&!5Rno+S!5D} z-paFC6Mpq4#!PSP@tpYn1 z0xrPF7@R4zPOD9RE=vwVPe_DC8KM=!nhDhFH414aaM6e?48HdF<527S(p|bL1{k;r z{k~z41nwCH%P#6&z#Gwdb?8CIPfjp#SsI(A;Tf|0Y3J7r2-kD)qb}(J{f~!Z t5jXQ*RH!)*V3f*APZ|5)on-(4)0P2{?gODX;uW^(-y8w}0000ASz44O6GH$1 literal 0 HcmV?d00001 diff --git a/test-mysql-auxiliary-scripts_optional/01_switch-scenes/switch-scenes.sh b/test-mysql-auxiliary-scripts_optional/01_switch-scenes/switch-scenes.sh new file mode 100755 index 0000000..d75765d --- /dev/null +++ b/test-mysql-auxiliary-scripts_optional/01_switch-scenes/switch-scenes.sh @@ -0,0 +1,86 @@ +#!/bin/bash +# Program: +# Automatically complete the operation of "test-mysql.sh" in six scenes and output log. +# Six scenes includes (open_double_write + close_double_write + automic_write)*(time + event) +# Requires: +# crudini needs to be installed. You can directly use rpm from uos in anolis8.4 +# such as: "yum install python3-iniparse && rpm -ivh crudini-0.9.3-1.uelc20.01.noarch.rpm" + +mysql_dev=/dev/vdb +mysql_conf_path=/etc/my.cnf.d/mariadb-server.cnf +# The section where innodb_doublewrite is +section=mysqld +test_script_time_path=/root/test-mysql-time.sh +test_script_event_path=/root/test-mysql-event.sh +test_log_dir=/root/log220316-mariadb10.3.28-512threads +service_name=mariadb.service + +function init() +{ + chmod +x ${test_script_time_path} ${test_script_event_path} + [ -d ${test_log_dir} ] || mkdir ${test_log_dir} +} + +function reset_env() +{ + automic=$1 + + mysql_process_num=$(ps -ef | grep -c mysql) + times=0 + while [ $mysql_process_num -ne 1 ]; do + systemctl stop ${service_name} + echo "execute 'stop service'" + sleep 10 + mysql_process=$(ps -ef | grep mysql) + echo -e "After sleep 10, mysql process status:\n ${mysql_process}" + mysql_process_num=$(ps -ef | grep -c mysql) + times=$((times+1)) + if [ $times -eq 10 ]; then + echo "'stop service' has been executed 10 times, stop script. Please check it!" + exit 1 + fi + done + umount ${mysql_dev} + sudo mkfs.xfs -f -m reflink=1 ${mysql_dev} + sudo mount ${mysql_dev} /var/lib/mysql + sudo chown -R mysql:mysql /var/lib/mysql + + if [ $automic -eq 1 ]; then + sudo chattr +c /var/lib/mysql + fi +} + +function run_mysql() +{ + systemctl start ${service_name} +} + +function run_test-mysql() +{ + automic=$1 + innodb_doublewrite=$2 + log_name=$3 + + crudini --set ${mysql_conf_path} ${section} innodb_doublewrite ${innodb_doublewrite} + + reset_env $automic + run_mysql + ${test_script_time_path} | tee -a ${test_log_dir}/${log_name}.log + + reset_env $automic + run_mysql + ${test_script_event_path} | tee -a ${test_log_dir}/${log_name}_event.log +} + +function run_tests() +{ + run_test-mysql 1 0 "03_atomic" + run_test-mysql 0 0 "02_close_doublewrite" + run_test-mysql 0 1 "01_open_doublewrite" +} + +init +run_tests + +exit 0 + -- Gitee From a14bec0ed08bc21612fa8a85bf3c4bc592e72633 Mon Sep 17 00:00:00 2001 From: Han Guangyu Date: Fri, 18 Mar 2022 10:23:40 +0800 Subject: [PATCH 2/2] feat: Add test data processing script data_processing.py can process the test data from log which is genetated by 01_switch-scenes/switch-scenes.sh to specified excel with template.xlsx. --- README.md | 8 ++ .../02_data-processing/data_processing.py | 73 ++++++++++++++++++ .../02_data-processing/template.xlsx | Bin 0 -> 18480 bytes 3 files changed, 81 insertions(+) create mode 100644 test-mysql-auxiliary-scripts_optional/02_data-processing/data_processing.py create mode 100644 test-mysql-auxiliary-scripts_optional/02_data-processing/template.xlsx diff --git a/README.md b/README.md index 5c67568..44c926f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ time or fixed run events. ## test-mysql-auxiliary-scripts_optional(Optional) +Non-essential auxiliary tools + ### 01_switch-scenes/switch-scenes.sh Auxiliary script for test-mysql.sh. It can automatically complete the @@ -18,3 +20,9 @@ operation of "test-mysql.sh" in six scenes and output log. Six scenes includes (open_double_write + close_double_write + automic_write)*(time + event) Crudini is the require of switch-scenes.sh. And crudini-0.9.3-1.uelc20.01.noarch.rpm could be directly installed in "Anolis8.4". + +### 02_data-processing/data_processing.py + +data_processing.py can process the test data from log which is +genetated by 01_switch-scenes/switch-scenes.sh to specified excel with +template.xlsx. diff --git a/test-mysql-auxiliary-scripts_optional/02_data-processing/data_processing.py b/test-mysql-auxiliary-scripts_optional/02_data-processing/data_processing.py new file mode 100644 index 0000000..eecf33e --- /dev/null +++ b/test-mysql-auxiliary-scripts_optional/02_data-processing/data_processing.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +from openpyxl import load_workbook + + +logs_path = "./log220314-mariadb10.3.28" + +JUMP_INTERVAL = 4 +JUMP_ROW = 16 +# [log_path, col, row_num, jump_row] +# start to write from line +write_arguments = [[f"{logs_path}/01_open_doublewrite.log", 4, 5, JUMP_ROW], + [f"{logs_path}/02_close_doublewrite.log", 5, 5, JUMP_ROW], + [f"{logs_path}/03_atomic.log", 6, 5, JUMP_ROW], + [f"{logs_path}/01_open_doublewrite_event.log", 4, 15, JUMP_ROW], + [f"{logs_path}/02_close_doublewrite_event.log", 5, 15, JUMP_ROW], + [f"{logs_path}/03_atomic_event.log", 6, 15, JUMP_ROW]] + +excel_path = "./template.xlsx" +work_sheet = "mariadb_data_32threads" +result_excel_path = "./test220314-mariadb10.3.28.xlsx" +# the device mounted to mysql data dir(/var/lib/mysql) +device = "vdd" + + +def read_data(log_path): + regex_tps = re.compile(r'transactions:\s+\d+\s+\((\d+\.\d{2}) per sec') + regex_kB_wrtn = re.compile(device + r'\s+\d+\.\d{2}\s+\d+\.\d{2}\s+\d+\.\d{2}\s+\d+\s+(\d+)') + + with open(log_path) as f: + log = f.read() + tps_list = regex_tps.findall(log) + kB_wrtn_list = regex_kB_wrtn.findall(log) + data_writed_list = [] + for i in range(0, len(kB_wrtn_list), 2): + data_writed_list.append(int(kB_wrtn_list[i+1]) - int(kB_wrtn_list[i])) + + return tps_list, data_writed_list + + +def write_excel(ws, tps_list, data_writed_list, col, row_num, jump_row): + count = 0 + + for i in range(0, len(tps_list)): + ws.cell(row=row_num, column=col).value = tps_list[i] + ws.cell(row=row_num+1, column=col).value = data_writed_list[i] + + count += 1 + # After counting JUMP_INTERVAL, jump to next table + if count == JUMP_INTERVAL: + count = 0 + row_num += jump_row + else: + row_num +=2 + return ws + + +def main(): + wb = load_workbook(excel_path) + ws = wb[work_sheet] + for i in write_arguments: + log_path = i[0] + col = i[1] + row_num = i[2] + jump_row = i[3] + tps_list, data_writed_list = read_data(log_path) + ws = write_excel(ws, tps_list, data_writed_list, col, row_num, jump_row) + wb.save(filename=result_excel_path) + + +if __name__ == '__main__': + main() diff --git a/test-mysql-auxiliary-scripts_optional/02_data-processing/template.xlsx b/test-mysql-auxiliary-scripts_optional/02_data-processing/template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..aa28c8931f026d2796edbd07aee646998249c963 GIT binary patch literal 18480 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 literal 0 HcmV?d00001 -- Gitee