把不同的随机应用混在一起
下面我们重点讨论一下随机IO的应用。对于一些用户来说,往往很疑惑,我有几个不同的随机IO的应用,对于这些不同的随机IO的应用,我们要不要分在不同的RAID组,或者不同的LUN中。其实对于存储系统来说,我们会发现,不同的随机IO即使混合在一起,也同样是随机的IO,对于这些不同的应用,我们即使划分在一个RAID组或者LUN里面,对单个应用的性能都不会有太多的影响。
此外,随机IO应用的高峰期通常不会完全重合,当随机IO处于高峰期的时候相互之间的确会产生影响,因此对于用户来说,我们需要注意的就是,如果同时有两个随机IO的应用高峰期大致相同,且其中一个的应用对性能的要求很高,需要有一定的资源保证,在这种情况下,我们需要把这个应用独立出来划分LUN。如果这些随机IO的高峰期并不是非常一致,且没有需要保证高性能的应用的情况下,我们可以大胆的把这些应用混在一起,这样我们能够用更多的磁盘来担负多个应用的IO需求,不仅不会对性能造成影响,还能有效的消除热点。
不同的随机应用混合在一起还是随机应用
我们关注一下数据库的应用,对于关系型数据库来说往往LOG是比较重要的,我们通常会单独划分空间来保存LOG,在需要很高性能的时候这样做的确是必须的而且是有效的。但是如果系统对性能要求并不十分苛刻的话,我们其实可以大胆的把LOG和数据放到一起,因为它占用性能的影响其实没有我们想象那么大。很多时候,LOG都是顺序的少量的写IO,通常IO写到Cache里面,读的话不会占用所有的cache。当我们把LOG和数据放到一起,我们能用更多的磁盘来完成LOG读写IO的操作,此外,LOG本身对性能的影响本身也并不十分明显。因此我们建议,在对性能没有苛刻要求的情况下,完全可以把非关系型数据库的LOG和数据放到一起。
两个不同数据库的LOG和数据交叉存放
一个实用的技巧,是把两个不同的数据库的LOG和数据交叉存放,来保护数据或者错峰使用。