当前位置:网络安全 > 如何为数据库服务器配置存储和内存

如何为数据库服务器配置存储和内存

  • 发布:2023-10-09 21:03

随着服务器硬件变得越来越强大并且价格急剧下降,许多公司(尤其是小型公司)发现自己在购买数据库服务器时面临着过多的选择。这意味着相对缺乏经验的数据库管理员也被要求设计越来越强大的系统。当您为大型系统设计数据库系统时,您可以购买具有许多硬盘和充足内存的大型数据库服务器。以下是设计系统时应遵循的一些基本原则。 1、存储系统 人们在设计磁盘阵列时最常犯的错误是只计算所需的备用容量。设计存储子系统时,备用容量只是等式的一部分;另一部分是存储系统需要支持的输入/输出操作的数量。 应遵循的基本经验法则是,频繁写入操作的数据库最好由 RAID 10 阵列提供服务,而频繁读取操作的数据库通常最好由 RAID 5 阵列提供服务。原因是如果将数据写入RAID 5阵列,性能会受到影响。由于数据写入RAID 5阵列时,存储系统在写入数据之前必须计算奇偶校验位,而计算奇偶校验位需要很长时间,这意味着写入RAID 5阵列的性能会降低。 由于这种性能影响,我们始终建议您将事务日志放在 RAID 10 阵列上。事务日志是一个写操作总是非常频繁的文件,无论数据库是以读操作为主的数据库还是以写操作为主的数据库。 tempdb 数据库还应放置在 RAID 10 阵列上,特别是放置在与事务日志文件所在阵列不同的 RAID 10 阵列上。 对每个磁盘阵列进行分区时,应确保分区正确对齐。默认情况下,Windows 2003 及更早版本不会正确对齐分区,这会导致磁盘子系统性能不佳。这个问题可以通过使用diskpart.exe 实用程序(Windows 2000 中的diskpar.exe)创建分区来解决。以这种方式创建的每个分区应该有64kb的对齐偏移量;默认情况下,创建的每个分区的对齐偏移量为 32kb。 Windows 2008 默认创建对齐偏移量为 128kb 的分区。 2、物理数据库建设 微软最近开始推荐的一项相对较新的技术是,数据库应该为两到四个CPU核心中的每一个都有一个物理数据库文件。应对数据库中的每个文件组执行此操作。 如果您的服务器有两个四核CPU,则总共有八个核心。我们假设数据库有两个文件组,一个名为 Data,另一个名为 Indexes。那么每个文件组应该有两到四个物理文件。该技术允许 SQL Server 优化磁盘输入/输出。如果可能,您应该分散文件,以便每个存储阵列上驻留的文件尽可能少。 tempdb 数据库的配置应该有点不同。配置tempdb数据库时,建议该数据库为每个CPU核心拥有一个物理文件。这样系统就可以尽可能地加快tempdb数据库的输入/输出操作速度。与用户数据库一样,每个磁盘阵列上放置的文件数量应尽可能少。 数据库中应该始终至少有两个文件组。第一个文件组包含表,第二组包含索引。您需要将它们放在不同的文件组中,以便在查询索引时加载到表中不会受到影响,反之亦然。 3、系统内存 过去,购买仅安装几GB内存的数据库服务器是很常见的。那是因为内存仍然非常昂贵。 如今内存相当便宜;您应该购买尽可能多的内存。内存越多,数据库几乎总是运行得越快。例外情况是您安装的内存超过了数据库的大小。例如,如果您有一个 3 GB 数据库,但安装了 8 GB 内存,向服务器添加更多内存将无助于提高数据库性能,因为 SQL Server 可能已经能够将整个数据库装入内存。 在决定分配给 SQL Server 多少内存时,永远不要让 SQL Server 为其分配所有内存。由于Windows操作系统需要内存来运行,因此数据库服务器上安装的任何其他软件也需要内存来运行,例如备份软件和防病毒软件。建议预留一到两GB内存用于操作系统和其他使用的软件。内存量取决于安装的软件。 由于没有两个数据库服务器是相同的,因此对于硬件解决方案的外观没有明确的指导方针。你有很多选择;设计一个可持续使用多年的可靠解决方案的关键是了解您的数据库需求,了解您正在使用的硬件,以及在哪里满足这些需求,这样您就不会购买现在不合适的东西。我没有购买配置太低的硬件,也没有购买明年规格过高的硬件。 您正在阅读:小技巧:如何加强IIS服务器外网安全 【编辑精选】 数据库服务器安全权限控制策略 网络管理技巧:如何轻松管理服务器 通过 Linux 操作系统启动 CD 对服务器进行故障排除

相关文章