向尽可能多的磁盘做写操作
使用尽可能多的磁盘驱动器来分离负载量,可以是由许多块盘组成的RAID阵列或者是多个RAID阵列。
从尽可能多块磁盘做读操作
如果你的数据库跨多块磁盘分布,你可以降低I/O瓶颈。
利用分离磁盘做读操作和写操作
对不同的磁盘组做读操作和写操作有助于增加I/O吞吐量。
RAID配置
对读操作和写操作尽可能使用速度最快的RAID配置。例如,RAID 5比较慢,因为它需要对磁盘有额外的写操作。RAID 0对写操作来说是最快的,但是它不提供冗余。可以考虑使用RAID 1+0:1和0代表镜像式(1)和条带式(0),因此你可以有一个数据集镜像,而且你可以条带式跨多个镜像组合来获取额外的I/O吞吐量。既然备份首先要从数据库读,然后向备份文件写,那么写操作的优势在存储备份文件的磁盘上是显而易见的。
控制器
利用不同的控制器和(或者)通道来增加I/O吞吐量。另外,要使用你能买得起的最好的控制器。在购买控制器时,你应该查看端口数量,支持的最大驱动器数量,缓冲大小,电池备份和SCSI协议支持情况。要跨多个控制器或通道分离读操作和写操作活动。
在本地写数据
要写本地磁盘,而不要向网络连接的存储做写操作。如果数据被写到直接连接的存储设备,你可以排除掉服务器外部可能引起使备份变慢时间变长的其它因素。
写多个设备
除了读写多块磁盘,可以利用尽可能多的线程来增加吞吐量。这一点可以通过利用企业管理器并选择多个输出文件或者通过利用T-SQL并在备份命令中包含多个文件来做到。你还可以通过写不同磁盘子系统来进一步增加吞吐量。
压缩备份
利用第三方工具压缩你的备份输出。这样一来,你可以降低备份文件整个大小的90%,并将备份时间减半。因为大部分数据在数据库中是文本数据,因此它是高度可压缩的。
把备份写到磁盘
永远要把备份写到磁盘上,不要直接写到其他类型的介质上;在直接写到内存之后,磁盘备份是下一个最快的选择。
快速磁盘驱动器
使用你能得到的最快的磁盘驱动器。SCSI驱动器还是要比IDE更快,能达到高达15k RPM的速度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现