1、磁盘读取数据是按block为单位读取
2、一个文件可能占用多个block。每读取一个block就会消耗一次磁盘I/O(input/output 磁盘读写)
3、如果要提升磁盘IO性能,那么就要尽可能一次性读取大量的数据。
4、一个block剩余空间会被浪费,无论内容多么小。如果block默认大小为4k,那么存放一个1k的文件剩余的3k就不能存放别的文件,只能浪费。
5、block并非越大越好。block太大对于存放小文件就会浪费磁盘空间。eg:1000k的文件,block大小为4k,占用250个block。如果block默认为1k,则需要占1000个block。访问效率谁更高?消耗IO分别为250次和1000次
6、根据业务需求,确定默认的block大小如果是大文件(16k)一般设置block大一点,小文件(下与1k)一般设置block小一点。
7、block太大,例如4k,文件都是0.1k的,大量浪费磁盘空间,但是访问性能高。
8、block太小,例如1k,文件都是1000k,消耗大量磁盘IO。
9、block大小设置也是格式化分区时候确定的,命令mkfs.ext4-b 2048-I 256 /dev/sd*
10、企业文件里文件都会比较大(一般都会大于4k),block设置大一些会提升磁盘访问效率。
11、ext3/ext4文件系统(centos5和6),一般都设置为4k。
当前生产环境一般设置问4k。特殊的业务,如视频可以加大block大小。