首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于mongodb部署的磁盘块大小

用于mongodb部署的磁盘块大小
EN

Database Administration用户
提问于 2018-11-16 10:10:56
回答 2查看 2K关注 0票数 2

为什么Mongodb生产票据没有关于磁盘块大小的建议?AFAIU,磁盘块大小将对吞吐量密集型应用程序产生相当大的影响。磁盘块大小在实践中对mongodb性能有任何影响吗?

EN

回答 2

Database Administration用户

发布于 2018-11-16 11:03:00

为什么Mongodb生产注释没有关于磁盘块大小的建议?

根据MongoDB文档在Blockstore中配置块大小,当您将部署备份到条子店时,备份守护进程首先获取头数据库的快照。然后,它将此快照分解为块,并将这些块写入块存储。

不同的块具有不同的默认大小和块的大小范围。

代码语言:javascript
复制
Blockstore Type Block Size Range    Default Size
MongoDB          64 KB to 15 MB          64 KB
S3               64 KB to 16 MB          16 MB

通常,增大块大小会导致更快的快照和恢复,但需要更多的磁盘空间。在确定是否要调整块大小时,应考虑这些相互竞争的因素。

有两个例外情况,即随着块大小的增加而不需要额外的磁盘空间,性能就会提高:

代码语言:javascript
复制
Workload                      Impact
Update- and Delete-Intensive  No matter how small you make the block size, the entire block file is rewritten. Since the entire file is always rewritten, there is no difference in storage space if you change the block size.
Insert-only                   The existing blocks never change. As you increase block size, block management is simplified. This enables the best possible performance on snapshot and restore.

最小块大小的范围包括:

代码语言:javascript
复制
64 KB
128 KB
256 KB
512 KB
1 MB
2 MB
4 MB
8 MB
15 MB (MongoDB) or 16 MB (S3)

磁盘块大小在实践中对mongodb性能有任何影响吗?

根据@Colt McAnlis的博客,这里“卷上的默认块大小是4K。对于面向吞吐量的工作负载,建议使用256KB或更高版本的值。“

观察以下公式wrt磁盘性能是很重要的:

代码语言:javascript
复制
Throughput (M/sB) = IOPS * Blocksize.

这是如何公平的,IOPS和块大小往往有一个相反的关系,彼此。随着块大小的增加,读取单个块需要更长的延迟时间,从而减少IOPS的#。相反,较小的块尺寸产生更高的IOPS。

关于您的参考资料这里

票数 1
EN

Database Administration用户

发布于 2022-11-20 18:34:51

MongoDB没有,但WiredTiger有。请参阅:https://source.wiredtiger.com/3.1.0/tune_页面_大小_和_comp.html

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/222716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档