Han*_*ank 5 performance sql-server
我刚刚从这个问题的答案中了解到,SQL Server 使用的.mdf
和.ldf
文件是数据库的重要对。我以前认为 .ldf 只是用于备份或审计的非关键日志。
无论如何,我们的服务器现在.mdf
在一个 SSD 上和在.ldf
Windows 的主 HDD 上。我这样设置是因为我认为这.mdf
是对性能最关键的文件位置。
但是现在看来 the.ldf
实际上是在发生 an 时首先写入数据UPDATE
,然后再.mdf
写入the 。
我应该将两个文件都放在 SSD 上吗?或者如果它们在不同的驱动器上会更好,即使其中一个是硬盘驱动器?(如果是这样,哪个文件应该放在哪里?)
如果它有所作为,SELECT
性能对我来说比UPDATE
.
这些是数据 (mdf) 和日志 (ldf) 文件的一般规则:
由于 mdf 文件是随机访问的,而日志文件是按顺序访问的,如果日志与其他经常访问的数据共享磁盘,您会看到写入性能大幅下降。这主要是因为等待磁头在磁盘周围寻找所花费的时间。显然,对于 SSD,您没有这种寻道惩罚,但磁盘仍然需要考虑最大写入吞吐量。
在数据仓库/OLAP 类型的服务器中,这可能不是问题,因为大多数日常使用可能是只读的,并且 ETL 批处理可能会在非高峰时间运行。数据文件和日志文件可能不会相互竞争。
因此,这个故事的寓意是,如果您对数据库的写入性能不满意,我建议将日志移动到具有更高顺序写入吞吐量的专用卷。通常,这意味着使用带有传统旋转磁盘(而非 SSD)的 RAID10 卷。您使用的磁盘越多,速度就越快。不要将 RAID5 用于日志,因为写入性能通常很差,除非您的阵列控制器有足够大的缓存来掩盖影响。
归档时间: |
|
查看次数: |
2733 次 |
最近记录: |