使用
MySQL运行ubuntu服务器,用于高流量生产数据库服务器.除MysqL实例外,机器上没有其他任何东西在运行.
我们在数据库服务器上存储每日数据库备份,是否有任何性能损失或我们应该保持硬盘相对空的原因?如果磁盘在数据库和所有备份中的填充率高达86%,那么它是否会损害性能?
那么运行86-90%全容量的数据库服务器在运行时只运行10%满磁盘的服务器会不会有什么好处?
服务器上的总磁盘大小超过1 TB,因此即使10%的磁盘也足以进行基本的O / S交换等.
首先,您不希望将数据库备份保留在与数据库相同的物理驱动器或RAID组中.原因是磁盘故障(如果您在没有任何RAID保护的情况下运行)或灾难性RAID故障(如果您使用的是RAID-1或RAID-5)将导致您丢失数据库和数据库备份.
有关磁盘性能的问题与磁盘驱动器的充满程度有关,取决于磁盘上数据的访问方式.对于旋转磁盘,有两个影响I / O性能的物理因素.他们是:
>寻找时间 – 磁盘驱动器移动磁盘所需的时间
从当前的轨道位置前往包含该轨道的轨道
要求的数据
>旋转延迟 – 这是平均花费的时间
当驱动器旋转时,所需的数据到达读头 – 为15K
RPM驱动这是2毫秒(毫秒)
驱动器的满载程度会影响服务器I / O的平均寻道时间.例如,如果您的驱动器已满并且您的数据库表实际位于磁盘盘片两端的驱动器上,那么当您执行I / O访问每个表中的数据时,这些I / O将会遇到驱动器的最大寻道时间.
尽管如此,如果您的驱动器已满并且您的应用程序仅访问存储在驱动器上的一小部分数据并且所有这些数据都连续地位于驱动器上,那么这些I / O将受到寻道时间的最小影响.
不幸的是,这个问题的答案是“你的里程会有所不同”,这意味着你的应用程序如何访问数据以及数据所在的位置将决定你的I / O性能.
另外,正如@gravyface所提到的,将操作系统存储要求与数据库分开是“最佳实践”.同样,这将有助于最小化磁盘表面上的磁头移动,因为当操作系统和数据库软件都发出I / O请求时,在同一驱动器上同时存在可能导致操作系统和驱动器的数据库区域之间的不断寻找.