Linux tune2fs -l /dev/sda5 可以查看磁盘blocksize等信息。
1. 用raid来做条带话的时候,可以有多种选择
raid0是单纯的条带化,没有镜像保护数据,可以提供最大的读效率,但生产系统一般不用。坏一个磁盘数据就没有了。
其他的raid5和raid01是常用的选择。
raid5能带来更好的读效率,因为用来存储数据的磁盘比较多。也正因为如此,写效率会逊于raid01.
2.stripe size就是单个磁盘条带的大小,对应的参数还有stripe wide,也就是做条带的磁盘总数*stripe size
文档的说法是,stripe size值为512k~1M之间,应该是db_block_size的倍数
条带的大小应该和I/O的大小有关,因为系统的每一次I/O并不是一定的,所以要看平均I/O
基本的思路是,来处理一次I/O,不要花费更多的磁盘读写
另外还要考虑的就是,通过条带可以为两种情况服务:
一是提升单次操作的效率(通过多个磁盘一起为这个I/O服务),
二是提升总的I/O吞吐量(通过提升每个磁盘的吞吐量)
本着这样的原则来设置strip大小
在情况一下,一般是不繁忙的系统中,可以尽量减少每个磁盘的stripe大小,而增加磁盘个数。然后还要使得最终的stripe width大于单次I/O的大小
stripe大小要小于DB_FILE_MULTIBLOCK_READ_COUNT * db_block_size, 但是要大于db_block_size*2(考虑到块对其)
在情况二下,一般是并发很高的系统中,可以增大stripe大小,比如 2 * DB_FILE_MULTIBLOCK_READ_COUNT * db_block_size
这样使得每个磁盘都可能处理几个并发I/O请求
3. 如果日志保存在操作系统文件上,那么操作系统块的大小会决定日志操作的I/O大小
另外操作系统的最大I/O大小决定了单次I/O操作的上限
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21818314/viewspace-693219/
,如需转载,请注明出处,否则将追究法律责任。