共建活动详情请参考:《OceanBase 4.x DBA 进阶教程》用户共建计划 。
@obpilot 的投稿内容详见:《云服务器上 OB 部署实践》 。
天使轮投稿,奖励 1000 积分,其他福利稍后也会一一兑现~
共建活动详情请参考:《OceanBase 4.x DBA 进阶教程》用户共建计划 。
@obpilot 的投稿内容详见:《云服务器上 OB 部署实践》 。
天使轮投稿,奖励 1000 积分,其他福利稍后也会一一兑现~
谢谢!
首先非常感谢大佬的贡献 @obpilot
第一时间打开了这篇文章,没时间仔细读。今天仔细读了。谈谈个人想法,加深下印象,当记个笔记啦。若有不对的地方,还请指教。
1、测试场景建议包括 4KB、2MB 的顺序写 IO 和 16K 的随机读 IO 。
之前测试直接使用了现成脚本,基本都用的-rw=randwrite,看到这段,翻了下文档,结合AI助手的回答,总结了下。
读写类型:顺序写为主。
原因:
SSTable 是 OceanBase 的存储引擎,数据以追加写(Append-Only)的方式写入磁盘,因此写操作是顺序的。
slog、clog、ilog 的 IO(4 KB)
读写类型:顺序写为主,顺序读为辅。
原因:
日志文件(如 slog、clog、ilog)是追加写入的,因此写操作是顺序的。
日志的读取通常也是顺序的,例如在恢复或回放日志时。
数据文件的读取单位是微块(默认16KB)
读写类型:随机读为主。
》 在宏块内部数据被组织为多个大小为 16KB 左右的变长数据块,称之为微块(Micro Block),微块中包含若干数据行(Row),微块是数据文件读 IO 的最小单位。
2、关于做LVM条带化问题
因为我们主要也是在云服务器上部署OB,之前也做了fio的测试,不过是用的随机读和随机写。
读写带宽方面确实是条带化会好很多。但是写IOPS方面一块大盘还更好些。
考虑到做条带化的LVM扩容有一定局限性,操作比较麻烦(比如条带化是3,每次新扩容的盘必须是3的倍数)。我们最后还是选择用单块盘的方式。
3、 网卡速率的问题
我这边是企业版的,搜了下没搜到nic.rate.config这个文件。
我使用OAT安装的时候,校验不通过会提供一个脚本解决。
echo 10000 > /home/admin/eth0-speed.mock && mount --bind /home/admin/eth0-speed.mock /sys/class/net/eth0/speed && echo -e '\n/home/admin/eth0-speed.mock /sys/class/net/eth0/speed none bind,nofail' >> /etc/fstab
我怎么记得官方的考试上在线课程有讲啊