ITG*_*y24 4 performance database sql-server
我们购买了一台新服务器作为 MS SQL 后端。我很想知道它的最佳设置是什么。
服务器是戴尔 R710 它有 6 个硬盘驱动器 2x 74GB 15k 和 4x 146GB 15k
这是当前在 RAID 1/Raid10 配置中设置的。
我的问题是以下应该去哪里(哪个数组)?
TEMPDB(还有多少、大小和增长) 系统 DB(主数据库、模型等) 应用 MDF 应用 LDF 系统页面文件
操作系统已安装在 RAID1 上。
spl*_*tne 13
不久前我做了一些关于 tempdb 优化的研究,并在 Stackoverflow 上回答了我自己的问题。这是我发现的。
为了优化 tempdb 性能,请注意物理磁盘配置、文件配置以及数据库内的一些设置。
物理磁盘配置
tempdb 应该驻留在它自己的专用物理磁盘上。这允许它从 SQL Server 上的其余卷中拆分 I/O 事务。
要将 tempdb 移动到新的磁盘驱动器,请使用ALTER DATABASE
. 这是执行此操作的关键 T-SQL 命令。Microsoft 在 SQL Server 2005 联机丛书中提供了一个很好的示例。文章名称为 ALTER DATABASE (Transact-SQL),具体部分为'G. 将 tempdb 移动到新位置。
tempdb 是一个非常高写入的数据库。因此,RAID 5 阵列不适合它。您应该将 tempdb放在 RAID 1 或 RAID 10 阵列上,因为它们已针对高写入应用程序进行了优化。如果您可以为 tempdb 的每个物理数据库文件提供额外的 RAID 1 或 RAID 10 阵列,您将获得更高的性能。
数据库文件
服务器中的每个 CPU 内核都应该有一个物理文件。所以,如果你有一个双芯片、双核服务器,你应该有四个用于 tempdb 数据库的物理数据库文件。添加更多数据库文件时,以相同的初始大小和相同的增长设置配置文件很重要。这样,SQL Server 将尽可能均匀地跨文件写入数据。
数据库文件大小
tempdb 数据库的大小会影响系统的性能。例如,如果为 tempdb 定义的大小太小,则部分系统处理负载可能会被自动增长的 tempdb 占用,以达到每次重新启动 SQL Server 实例时支持工作负载所需的大小。您可以通过增加 tempdb 数据和日志文件的大小来避免这种开销。
在生产环境中为 tempdb 确定合适的大小取决于许多因素,包括现有的工作负载和使用的 SQL Server 功能。Microsoft 建议您通过在 SQL Server测试环境中执行以下任务来分析现有工作负载:
tempdb 的最小大小建议如下:
环境 大小 数据库大小 (MB) 日志大小 (MB) ———————————————————————— 小号 1024 256 中号 5120 1024 大10024 2048
数据库设置
您可以通过禁用自动更新 stats来进一步提高 tempdb 性能,这将为您的 tempdb 节省一些工作。您还可以将自动创建统计信息选项设置为 false。
免责声明:应谨慎更改设置。根据您放置在 tempdb 上的负载类型,更改设置可能会对系统性能产生不利影响。
要获得最佳 tempdb 性能,请遵循优化 tempdb 性能中提供的指导方针和建议。
如何监控 tempdb 使用情况?
运行在tempdb中磁盘空间了可引起显著中断在SQL Server生产环境,并能防止从完成操作运行的应用程序。
您可以使用sys.dm_db_file_space_usage
动态管理视图来监视 tempdb 文件中这些功能使用的磁盘空间。此外,要在会话或任务级别监视 tempdb 中的页面分配或解除分配活动,您可以使用sys.dm_db_session_space_usage
和sys.dm_db_task_space_usage
动态管理视图。
这些视图可用于识别使用大量 tempdb 磁盘空间的大型查询、临时表或表变量。还有几个计数器可用于监视 tempdb 中可用的可用空间以及使用 tempdb 的资源。
链接:
归档时间: |
|
查看次数: |
3989 次 |
最近记录: |