1"use strict";(self.webpackChunkengula_website=self.webpackChunkengula_website||[]).push([["643"],{7392:function(e,n,r){r.r(n),r.d(n,{default:()=>g});var s=r(2676),d=r(453);let l=r.p+"static/image/perf-html.160e7016.png",i=r.p+"static/image/generate-html.e8fb5909.png",h=r.p+"static/image/generate-term.50bc6008.png",t=r.p+"static/image/dir-html.660c8827.png",a=r.p+"static/image/dir-term.ae375a6a.png",c=r.p+"static/image/multi-html.92d8070f.png",x=r.p+"static/image/multi-term.d972f4f5.png",j=r.p+"static/image/single-html.64e7ff5c.png",o=r.p+"static/image/single-term.d2c956a2.png";function u(e){let n=Object.assign({h1:"h1",a:"a",p:"p",h2:"h2",ul:"ul",li:"li",strong:"strong",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",pre:"pre",code:"code",blockquote:"blockquote",h3:"h3",img:"img"},(0,d.ah)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h1,{id:"engula-rdbperf缩ç-rdb-saveload-èæ¶",children:["Engula RDBPerfï¼ç¼©ç RDB save/load èæ¶ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#engula-rdbperf缩ç-rdb-saveload-èæ¶",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Engula RDBPerf 以 Docker éå形弿ä¾ï¼ç¨äºå¯¹æ¯ Engula ä¸ Redis å¨ RDB æä»¶ä¿åï¼SAVEï¼ä¸å è½½ï¼LOAD/RELOADï¼åºæ¯ä¸çæ§è½å·®å¼ï¼å¸®å©è¯ä¼°æ¯å¦è½ç¼©ç RDB save/load èæ¶ï¼å¹¶è§å¯ RDB æä»¶ä½ç§¯ä¸å
åå ç¨è¡¨ç°ã"}),"\n",(0,s.jsxs)(n.h2,{id:"1-å·¥å
·ç®ä»ä¸è®¾è®¡ç®æ ",children:["1. å·¥å
·ç®ä»ä¸è®¾è®¡ç®æ ",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#1-å·¥å
·ç®ä»ä¸è®¾è®¡ç®æ ",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"ç®æ ï¼å¨ç¸åæ°æ®è§æ¨¡ä¸å¯¹æ¯ Engula ä¸ Redis ç RDB SAVE / LOAD æ§è½ï¼ä»¥å RDB æä»¶å¤§å°ä¸å
åå ç¨ã"}),"\n",(0,s.jsx)(n.p,{children:"ææ è¯´æï¼"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Save Time"})," â çæ RDB æä»¶èæ¶"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Reload / Load Time"})," â å è½½ RDB æä»¶èæ¶"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"RDB Size"})," â çæåç RDB æä»¶å¤§å°"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Memory Usage"})," â æ°æ®å è½½å®æåçå
åå ç¨"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"ä¸¤ç§æµè¯æ¨¡å¼ï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"模å¼"}),"\n",(0,s.jsx)(n.th,{children:"éç¨åºæ¯"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"模å¼ä¸ï¼å¯¹æ¯å·²æ RDB æä»¶"}),"\n",(0,s.jsx)(n.td,{children:"ç¨çå®ä¸å¡ RDB è¯ä¼°ä¸å弿çå è½½/ä¿åæ§è½ä¸å
¼å®¹æ§"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"模å¼äºï¼èªå¨çææ°æ®è¿è¡å¯¹æ¯"}),"\n",(0,s.jsx)(n.td,{children:"æ åååºåæµè¯ï¼å¯¹æ¯ä¸åæ°æ®è§æ¨¡ãç±»åãå
åæ¡£ä½"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"å·¥å
·ä¼èªå¨å¯å¨å¹¶ç®¡ç Redis ä¸ Engula æå¡è¿ç¨ï¼æµè¯ç»æèªå¨æ¸
çï¼æ éæå¨åç¬å¯å¨ã"}),"\n",(0,s.jsxs)(n.h2,{id:"2-注æäºé¡¹ä¸è¿è¡ç¯å¢",children:["2. 注æäºé¡¹ä¸è¿è¡ç¯å¢",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#2-注æäºé¡¹ä¸è¿è¡ç¯å¢",children:"#"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"RDB SAVE / LOAD æ§è½ç»æä¼éå®é
RDB æ°æ®ç¹å¾ï¼æ°æ®åå¸ãvalue 大å°ãå缩æ
åµãkey æ°éï¼ååã"}),"\n",(0,s.jsx)(n.li,{children:"SAVE / LOAD æ§è½åæ¶å硬件影åï¼ä¸ CPUãå
åãå°¤å
¶ç£çæ§è½å¯åç¸å
³ãå»ºè®®å¨æ¬å° SSD æºå¨ä¸æµè¯ï¼å¹¶å°æ°æ®ç®å½é
ç½®å¨ç®æ æè½½ç®å½ä¸ï¼åå°åå¨ä»è´¨å·®å¼å¹²æ°ã"}),"\n",(0,s.jsxs)(n.li,{children:["æä½è¿è¡ç¯å¢ï¼","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"CentOS ⥠7.9 æ Ubuntu ⥠18.04"}),"\n",(0,s.jsx)(n.li,{children:"Docker å·²å®è£
å¹¶æ£å¸¸è¿è¡"}),"\n",(0,s.jsx)(n.li,{children:"主æºå
å ⥠64G"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"3-å¿«éå¼å§æåéå",children:["3. å¿«éå¼å§ï¼æåéåï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#3-å¿«éå¼å§æåéå",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker pull registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"4-模å¼ä¸å¯¹æ¯å·²æ-rdb-æä»¶",children:["4. 模å¼ä¸ï¼å¯¹æ¯å·²æ RDB æä»¶",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#4-模å¼ä¸å¯¹æ¯å·²æ-rdb-æä»¶",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"ç¨ Redis å Engula åå«å è½½/ä¿åæå®ç RDB æä»¶ï¼è®°å½å è½½æ¶é´ãä¿åæ
1¶é´ä¸å
åå ç¨ã"}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:["䏿¹å½ä»¤ä¸ç ",(0,s.jsx)(n.code,{children:"/path/to/your/..."})," æ¯å ä½è·¯å¾ï¼è¿è¡åè¯·æ¿æ¢ä¸ºæ¨æºå¨ä¸çå®é
è·¯å¾ï¼RDB æä»¶æç®å½çç»å¯¹è·¯å¾ï¼ã"]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"41-å个-rdb-æä»¶",children:["4.1 å个 RDB æä»¶",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#41-å个-rdb-æä»¶",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"mkdir -p $(pwd)/results\n\ndocker run --rm -it \\\n -v /path/to/your/dump.rdb:/rdbs/dump.rdb:ro \\\n -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof tool rdb-save-load --rdb /rdbs/dump.rdb --results-dir /work/results\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:["å个 RDB æä»¶æµè¯é»è®¤æ¾ç¤º TUI è¿åº¦æ¡ï¼å¿
é¡»ä½¿ç¨ ",(0,s.jsx)(n.code,{children:"-it"})," åé
伪ç»ç«¯ã"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"ç»ç«¯ç»æï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:o,alt:"åæä»¶æµè¯ç»ç«¯ç»æ"})}),"\n",(0,s.jsx)(n.p,{children:"HTML æ¥åï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:j,alt:"åæä»¶æµè¯ HTML æ¥å"})}),"\n",(0,s.jsxs)(n.h3,{id:"42-å¤ä¸ª-rdb-æä»¶å¤æ¬¡---rdb",children:["4.2 å¤ä¸ª RDB æä»¶ï¼å¤æ¬¡ --rdbï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#42-å¤ä¸ª-rdb-æä»¶å¤æ¬¡---rdb",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker run --rm \\\n -v /path/to/your/rdbs:/rdbs:ro \\\n -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof tool rdb-save-load \\\n --rdb /rdbs/file1.rdb \\\n --rdb /rdbs/file2.rdb \\\n --rdb /rdbs/file3.rdb \\\n --results-dir /work/results\n"})}),"\n",(0,s.jsx)(n.p,{children:"ç»ç«¯ç»æï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:x,alt:"夿件æµè¯ç»ç«¯ç»æ"})}),"\n",(0,s.jsx)(n.p,{children:"HTML æ¥åï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:c,alt:"夿件æµè¯ HTML æ¥å"})}),"\n",(0,s.jsxs)(n.h3,{id:"43-rdb-æä»¶ç®å½--rdb-dir",children:["4.3 RDB æä»¶ç®å½ï¼--rdb-dirï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#43-rdb-æä»¶ç®å½--rdb-dir",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["å°ç®å½ä¸ææ ",(0,s.jsx)(n.code,{children:".rdb"})," æä»¶ä½ä¸ºæµè¯å¯¹è±¡ï¼éå½æç´¢ï¼ï¼"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker run --rm \\\n -v /path/to/your/rdb-files:/rdbs:ro \\\n -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof tool rdb-save-load --rdb-dir /rdbs --results-dir /work/results\n"})}),"\n",(0,s.jsx)(n.p,{children:"ç»ç«¯ç»æï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:a,alt:"ç®å½æµè¯ç»ç«¯ç»æ"})}),"\n",(0,s.jsx)(n.p,{children:"HTML æ¥åï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:t,alt:"ç®å½æµè¯ HTML æ¥å"})}),"\n",(0,s.jsxs)(n.h3,{id:"44-ç»æäº§ç©",children:["4.4 ç»æäº§ç©",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#44-ç»æäº§ç©",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["è¿è¡ç»æåå¨ ",(0,s.jsx)(n.code,{children:"results"})," ç®å½çææ¥åï¼"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"results/\nâââ tool-rdb-save-load/\n âââ 20260508T070920/\n âââ report.html # HTML æ¥å\n âââ results.json # JSON æè¦\n âââ main.log # è¯¦ç»æ¥å¿ï¼éè¦ --verboseï¼\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"5-模å¼äºèªå¨çææ°æ®è¿è¡å¯¹æ¯perf-35",children:["5. 模å¼äºï¼èªå¨çææ°æ®è¿è¡å¯¹æ¯ï¼perf 3.5ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#5-模å¼äºèªå¨çææ°æ®è¿è¡å¯¹æ¯perf-35",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"å·¥å
·èªå¨çææå®è§æ¨¡ãæå®ç±»åç Key-Value æ°æ®ï¼åå«ç¨ Redis å Engula å¡«å
ãä¿åãå 载并对æ¯ã"}),"\n",(0,s.jsxs)(n.h3,{id:"51-宿´æµè¯1gb--4gb--8gb约-2040-åé",children:["5.1 宿´æµè¯ï¼1GB + 4GB + 8GBï¼çº¦ 20â40 åéï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#51-宿´æµè¯1gb--4gb--8gb约-2040-åé",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"mkdir -p $(pwd)/results\n\ndocker run --rm \\\n -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof test perf --sub 3.5 --results-dir /work/results\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"52-å¿«éæµè¯ä»
-1gb约-25-åé",children:["5.2 å¿«éæµè¯ï¼ä»
1GBï¼çº¦ 2â5 åéï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#52-å¿«éæµè¯ä»
-1gb约-25-åé",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"mkdir -p $(pwd)/results\n\ndocker run --rm \\\n -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof test perf --sub 3.5 --results-dir /work/results
1--perf-rdb-maxmemory 1gb\n"})}),"\n",(0,s.jsx)(n.p,{children:"ç»ç«¯ç»æï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:h,alt:"èªå¨çææ°æ®æµè¯ç»ç«¯ç»æ"})}),"\n",(0,s.jsx)(n.p,{children:"HTML æ¥åï¼"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:i,alt:"èªå¨çææ°æ®æµè¯ HTML æ¥å"})}),"\n",(0,s.jsxs)(n.h3,{id:"53-ç»æäº§ç©",children:["5.3 ç»æäº§ç©",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#53-ç»æäº§ç©",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"results/\nâââ perf-3.5-rdb-save-load-logs/\n âââ 20260508T123456/\n âââ engula.log # Engula æå¡æ¥å¿\n âââ redis.log # Redis æå¡æ¥å¿\n âââ matrix.json # ç©éµç»æ\n âââ report.html # HTML æ¥åï¼å¯ç´æ¥å¨æµè§å¨æå¼ï¼\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"6-æ°æ®ç±»å䏿µè¯åæ°",children:["6. æ°æ®ç±»å䏿µè¯åæ°",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#6-æ°æ®ç±»å䏿µè¯åæ°",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"æ¯æçæ°æ®ç±»åï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"æ°æ®ç±»å"}),"\n",(0,s.jsx)(n.th,{children:"说æ"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"String"}),"\n",(0,s.jsx)(n.td,{children:"ç®åå符串å¼"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Hash"}),"\n",(0,s.jsx)(n.td,{children:"åæ®µå¼å¯¹"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"List"}),"\n",(0,s.jsx)(n.td,{children:"å表ï¼LPUSH/RPOPï¼"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Set"}),"\n",(0,s.jsx)(n.td,{children:"éåï¼SADDï¼"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"æµè¯åæ°èå´ï¼æ¨¡å¼äºï¼ï¼"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"å
åæ¡£ä½ï¼maxmemoryï¼ï¼1GBã4GBã8GB"}),"\n",(0,s.jsx)(n.li,{children:"Value 大尿¡£ä½ï¼256B"}),"\n",(0,s.jsx)(n.li,{children:"Key æ°éï¼æ ¹æ® value 大å°ä¸å
åæ¡£ä½èªå¨è®¡ç®ï¼ç¡®ä¿å¡«æ»¡æå®å
å约 80%"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"æ°æ®ç±»å \xd7 å
åæ¡£ä½ç©éµï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"æ°æ®ç±»å"}),"\n",(0,s.jsx)(n.th,{children:"1GB"}),"\n",(0,s.jsx)(n.th,{children:"4GB"}),"\n",(0,s.jsx)(n.th,{children:"8GB"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"String"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Hash"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"List"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Set"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n",(0,s.jsx)(n.td,{children:"â"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"7-ç»æè§£è¯»",children:["7. ç»æè§£è¯»",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#7-ç»æè§£è¯»",children:"#"})]}),"\n",(0,s.jsxs)(n.h3,{id:"71-ç»ç«¯è¡¨æ ¼å段",children:["7.1 ç»ç«¯è¡¨æ ¼å段",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#71-ç»ç«¯è¡¨æ ¼å段",children:"#"})]}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"åæ®µ"}),"\n",(0,s.jsx)(n.th,{children:"说æ"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"r-reload"}),"\n",(0,s.jsx)(n.td,{children:"Redis éè½½ï¼SAVE åéå¯å è½½ï¼RDB æä»¶èæ¶"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"r-save"}),"\n",(0,s.jsx)(n.td,{children:"Redis ä¿å RDB æä»¶èæ¶"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"r-mem"}),"\n",(0,s.jsx)(n.td,{children:"Redis å è½½åå
åå ç¨"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"e-reload"}),"\n",(0,s.jsx)(n.td,{children:"Engula éè½½ï¼SAVE åéå¯å è½½ï¼RDB æä»¶èæ¶"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"e-save"}),"\n",(0,s.jsx)(n.td,{children:"Engula ä¿å RDB æä»¶èæ¶"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"e-mem"}),"\n",(0,s.jsx)(n.td,{children:"Engula å è½½åå
åå ç¨"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"72-html-æ¥åå
容",children:["7.2 HTML æ¥åå
容",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#72-html-æ¥åå
容",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"HTML æ¥åå
å« Summaryï¼æ´ä½å¯¹æ¯ç»è®ºï¼ãMatrixï¼æ°æ®ç±»å \xd7 å
åæ¡£ä½æç»ï¼ãRatiosï¼Engula ä¸ Redis çæ¶é´/å
忝å¼ï¼ãLogsï¼å®æ´æµè¯æ¥å¿ï¼ï¼å¹¶æ¯æææ°æ®ç±»åãå
åæ¡£ä½ãValue 大å°è¿æ»¤ã"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)("img",{src:l,alt:"HTML æ¥å示ä¾"})}),"\n",(0,s.jsx)(n.p,{children:"æ§è½åèï¼Save / Reload æ¶é´æ¯å¼ï¼Engula / Redisï¼è¶ä½è¶å¥½ï¼ï¼å
åå ç¨æ¯å¼çº¦ 40%â70% 为æ£å¸¸ï¼è¶ä½è¶å¥½ã"}),"\n",(0,s.jsxs)(n.h3,{id:"73-resultsjson-示ä¾",children:["7.3 ",(0,s.jsx)(n.code,{children:"results.json"})," 示ä¾",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#73-resultsjson-示ä¾",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'[\n {\n "db": "engula",\n "ke
1ys": 50000000,\n "valueLength": 128,\n "saveTimeSec": 3.54,\n "loadTimeSec": 4.05,\n "rdbSizeMB": 6287.0,\n "usedMemoryMB": 6275.9,\n "dbSize": 50004700,\n "saveStatus": "ok"\n },\n {\n "db": "redis",\n "keys": 50000000,\n "valueLength": 128,\n "saveTimeSec": 34.85,\n "loadTimeSec": 24.50,\n "rdbSizeMB": 6919.8,\n "usedMemoryMB": 10813.5,\n "dbSize": 50004000,\n "saveStatus": "ok"\n }\n]\n'})}),"\n",(0,s.jsxs)(n.h2,{id:"8-宿µåºåæ°æ®",children:["8. 宿µåºåæ°æ®",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#8-宿µåºåæ°æ®",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"æ¬è为ä¸ç»ç¹å®æ¡ä»¶ä¸çåºåç»æï¼ç»æä¼éæ°æ®ç¹å¾ä¸ç¡¬ä»¶ååï¼ä¸ \xa76 åæ°ç©éµï¼value 256Bã1/4/8GBï¼æ¯ä¸åæµè¯å£å¾ï¼ä¸å¯ç´æ¥äºæ¨ã"}),"\n",(0,s.jsx)(n.p,{children:"æµè¯ç¯å¢ä¸å¯¹è±¡ï¼"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"13th Gen Intel(R) Core(TM) i5-13600K"}),"\n",(0,s.jsx)(n.li,{children:"å
å Kingston DDR4 64G"}),"\n",(0,s.jsx)(n.li,{children:"ç£ç Samsung SSD 980 PRO"}),"\n",(0,s.jsx)(n.li,{children:"æµè¯å¯¹è±¡ï¼Engula 2.2.0 ä¸ Redis 7.2.11"}),"\n",(0,s.jsx)(n.li,{children:"æµè¯æ¡ä»¶ï¼5000 ä¸ keysãvalue = 128B"}),"\n"]}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"ææ "}),"\n",(0,s.jsx)(n.th,{children:"Redis"}),"\n",(0,s.jsx)(n.th,{children:"Engula"}),"\n",(0,s.jsx)(n.th,{children:"æåææ"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Save æ¶é´"}),"\n",(0,s.jsx)(n.td,{children:"34.85s"}),"\n",(0,s.jsx)(n.td,{children:"3.54s"}),"\n",(0,s.jsx)(n.td,{children:"å¿« 9.8 å"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Load æ¶é´"}),"\n",(0,s.jsx)(n.td,{children:"24.50s"}),"\n",(0,s.jsx)(n.td,{children:"4.05s"}),"\n",(0,s.jsx)(n.td,{children:"å¿« 6.1 å"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"RDB æä»¶å¤§å°"}),"\n",(0,s.jsx)(n.td,{children:"6919.8 MB"}),"\n",(0,s.jsx)(n.td,{children:"6287.0 MB"}),"\n",(0,s.jsx)(n.td,{children:"ç¼©å° 9%"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"å
åå ç¨"}),"\n",(0,s.jsx)(n.td,{children:"10813.5 MB"}),"\n",(0,s.jsx)(n.td,{children:"6275.9 MB"}),"\n",(0,s.jsx)(n.td,{children:"åå° 42%"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Keys æ°é"}),"\n",(0,s.jsx)(n.td,{children:"50,004,000"}),"\n",(0,s.jsx)(n.td,{children:"50,004,700"}),"\n",(0,s.jsx)(n.td,{children:"åºæ¬ä¸è´"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"Engula: save=3.54s load=4.05s rdb=6287.0MB mem=6275.9MB\nRedis: save=34.85s load=24.50s rdb=6919.8MB mem=10813.5MB\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"9-åç说æ",children:["9. åç说æ",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#9-åç说æ",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"ä¼ ç» RDB è·¯å¾ï¼Redis/Valkeyï¼ï¼"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"Save: redisDB â robj serialize â RDB encode (LZF) â disk\nLoad: disk â RDB decode (LZF decompress) â robj deserialize â redisDB\n"})}),"\n",(0,s.jsx)(n.p,{children:"Engula RDB å¿«éè·¯å¾ï¼"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"Save: memblocks â sequential batch write (zero decompression) â hashtable snapshot\nLoad: sequential batch read â rebuild index (zero compression) â hashtable restore\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"10-常è§é®é¢",children:["10. 常è§é®é¢",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#10-常è§é®é¢",children:"#"})]}),"\n",(0,s.jsxs)(n.h3,{id:"101-æµè¯æ¶éè¦åç¬å¯å¨-redis-å-engula-å",children:["10.1 æµè¯æ¶éè¦åç¬å¯å¨ Redis å Engula åï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#101-æµè¯æ¶éè¦åç¬å¯å¨-redis-å-engula-å",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"ä¸éè¦ãå·¥å
·ä¼å¨å®¹å¨å
èªå¨å¯å¨å¹¶ç®¡ç Redis ä¸ Engula æå¡è¿ç¨ï¼æµè¯å®æåèªå¨æ¸
çã"}),"\n",(0,s.jsxs)(n.h3,{id:"102-å¦ä½åªæµè¯ç¹å®æ°æ®ç±»å",children:["10.2 å¦ä½åªæµè¯ç¹å®æ°æ®ç±»åï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#102-å¦ä½åªæµè¯ç¹å®æ°æ®ç±»å",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["模å¼äºç¨ ",(0,s.jsx)(n.code,{children:"--rdb-types"})," æå®ï¼"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker run --rm -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof test perf --sub 3.5 --results-dir /work/results
1--rdb-types string,hash\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"103-å¦ä½åªæµè¯ç¹å®å
åæ¡£ä½",children:["10.3 å¦ä½åªæµè¯ç¹å®å
åæ¡£ä½ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#103-å¦ä½åªæµè¯ç¹å®å
åæ¡£ä½",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker run --rm -v $(pwd)/results:/work/results \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-rdb-perf:latest \\\n proof test perf --sub 3.5 --results-dir /work/results --perf-rdb-maxmemory 4gb\n"})}),"\n",(0,s.jsxs)(n.h3,{id:"104-æå¡å¯å¨å¤±è´¥æè¿æ¥è¶
æ¶",children:["10.4 æå¡å¯å¨å¤±è´¥æè¿æ¥è¶
æ¶",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#104-æå¡å¯å¨å¤±è´¥æè¿æ¥è¶
æ¶",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"å·¥å
·å¨å®¹å¨å
èªç®¡ Redis/Engula è¿ç¨ä¸ç«¯å£ï¼ä¸è¬æ 鿣æ¥ä¸»æºç«¯å£ã请确认ï¼"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"-v"})," æè½½è·¯å¾æ£ç¡®ï¼RDB æä»¶ä»¥ ",(0,s.jsx)(n.code,{children:":ro"})," åªè¯»æè½½å° ",(0,s.jsx)(n.code,{children:"/rdbs"}),"ï¼ç»æç®å½æè½½å° ",(0,s.jsx)(n.code,{children:"/work/results"}),"ï¼ï¼"]}),"\n",(0,s.jsx)(n.li,{children:"主æºèµæºå
è¶³ï¼å
å ⥠64Gï¼ç£ç空é´è¶³å¤å®¹çº³ RDB ä¸ç»æï¼ï¼"}),"\n",(0,s.jsxs)(n.li,{children:["å¦éå°å®¹å¨å
æå¡å¯¹å¤æ´é²ï¼ä½¿ç¨ ",(0,s.jsx)(n.code,{children:"docker run -p"})," æ¾å¼æ å°ç«¯å£ã"]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"105-tui-åæ§å¶å°è¾åºæä»ä¹åºå«",children:["10.5 TUI åæ§å¶å°è¾åºæä»ä¹åºå«ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#105-tui-åæ§å¶å°è¾åºæä»ä¹åºå«",children:"#"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["TUI 模å¼ï¼å个 RDB æä»¶ + ",(0,s.jsx)(n.code,{children:"-it"}),"ï¼ï¼å®æ¶è¿åº¦æ¡ä¸å¨æå¯¹æ¯é¢æ¿ã"]}),"\n",(0,s.jsxs)(n.li,{children:["æ§å¶å°æ¨¡å¼ï¼å¤ä¸ªæä»¶æå ",(0,s.jsx)(n.code,{children:"--no-tui"}),"ï¼ï¼éæè¡¨æ ¼ï¼ç»æç´§å便äºåæ¡£ã"]}),"\n"]}),"\n",(0,s.jsxs)(n.h3,{id:"106-é-docker-æ¹å¼",children:["10.6 é Docker æ¹å¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#106-é-docker-æ¹å¼",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"å¦éé Dockerï¼äºè¿å¶ï¼æ¹å¼ä½¿ç¨ï¼è¯·èç³»äºå¥ç§æå·¥ä½äººåã"})]})}function p(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,d.ah)(),e.components);return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}let g=p;p.__RSPRESS_PAGE_META={},p.__RSPRESS_PAGE_META["zh%2Fdocs%2Ftools%2Frdbperf.md"]={toc:[{text:"1. å·¥å
·ç®ä»ä¸è®¾è®¡ç®æ ",id:"1-å·¥å
·ç®ä»ä¸è®¾è®¡ç®æ ",depth:2},{text:"2. 注æäºé¡¹ä¸è¿è¡ç¯å¢",id:"2-注æäºé¡¹ä¸è¿è¡ç¯å¢",depth:2},{text:"3. å¿«éå¼å§ï¼æåéåï¼",id:"3-å¿«éå¼å§æåéå",depth:2},{text:"4. 模å¼ä¸ï¼å¯¹æ¯å·²æ RDB æä»¶",id:"4-模å¼ä¸å¯¹æ¯å·²æ-rdb-æä»¶",depth:2},{text:"4.1 å个 RDB æä»¶",id:"41-å个-rdb-æä»¶",depth:3},{text:"4.2 å¤ä¸ª RDB æä»¶ï¼å¤æ¬¡ --rdbï¼",id:"42-å¤ä¸ª-rdb-æä»¶å¤æ¬¡---rdb",depth:3},{text:"4.3 RDB æä»¶ç®å½ï¼--rdb-dirï¼",id:"43-rdb-æä»¶ç®å½--rdb-dir",depth:3},{text:"4.4 ç»æäº§ç©",id:"44-ç»æäº§ç©",depth:3},{text:"5. 模å¼äºï¼èªå¨çææ°æ®è¿è¡å¯¹æ¯ï¼perf 3.5ï¼",id:"5-模å¼äºèªå¨çææ°æ®è¿è¡å¯¹æ¯perf-35",depth:2},{text:"5.1 宿´æµè¯ï¼1GB + 4GB + 8GBï¼çº¦ 20â40 åéï¼",id:"51-宿´æµè¯1gb--4gb--8gb约-2040-åé",depth:3},{text:"5.2 å¿«éæµè¯ï¼ä»
1GBï¼çº¦ 2â5 åéï¼",id:"52-å¿«éæµè¯ä»
-1gb约-25-åé",depth:3},{text:"5.3 ç»æäº§ç©",id:"53-ç»æäº§ç©",depth:3},{text:"6. æ°æ®ç±»å䏿µè¯åæ°",id:"6-æ°æ®ç±»å䏿µè¯åæ°",depth:2},{text:"7. ç»æè§£è¯»",id:"7-ç»æè§£è¯»",depth:2},{text:"7.1 ç»ç«¯è¡¨æ ¼å段",id:"71-ç»ç«¯è¡¨æ ¼å段",depth:3},{text:"7.2 HTML æ¥åå
容",id:"72-html-æ¥åå
容",depth:3},{text:"7.3 `results.json` 示ä¾",id:"73-resultsjson-示ä¾",depth:3},{text:"8. 宿µåºåæ°æ®",id:"8-宿µåºåæ°æ®",depth:2},{text:"9. åç说æ",id:"9-åç说æ",depth:2},{text:"10. 常è§é®é¢",id:"10-常è§é®é¢",depth:2},{text:"10.1 æµè¯æ¶éè¦åç¬å¯å¨ Redis å Engula åï¼",id:"101-æµè¯æ¶éè¦åç¬å¯å¨-redis-å-engula-å",depth:3},{text:"10.2 å¦ä½åªæµè¯ç¹å®æ°æ®ç±»åï¼",id:"102-å¦ä½åªæµè¯ç¹å®æ°æ®ç±»å",depth:3},{text:"10.3 å¦ä½åªæµè¯ç¹å®å
åæ¡£ä½ï¼",id:"103-å¦ä½åªæµè¯ç¹å®å
åæ¡£ä½",depth:3},{text:"10.4 æå¡å¯å¨å¤±è´¥æè¿æ¥è¶
æ¶",id:"104-æå¡å¯å¨å¤±è´¥æè¿æ¥è¶
æ¶",depth:3}
1,{text:"10.5 TUI åæ§å¶å°è¾åºæä»ä¹åºå«ï¼",id:"105-tui-åæ§å¶å°è¾åºæä»ä¹åºå«",depth:3},{text:"10.6 é Docker æ¹å¼",id:"106-é-docker-æ¹å¼",depth:3}],title:"Engula RDBPerfï¼ç¼©ç RDB save/load èæ¶ï¼",headingTitle:"Engula RDBPerfï¼ç¼©ç RDB save/load èæ¶ï¼",frontmatter:{}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.