标签: hardware

CPU 时钟速度与 CPU 核心数 - 更高的 GHz,还是 SQL Server 的更多核心?

我们开始为 VMware 中的 SQL Server 2016 节点虚拟集群提供一组物理服务器。我们将使用企业版许可证。

我们计划设置 6 个节点,但关于在 CPU 时钟速度与 CPU 核心数方面配置物理服务器的理想方式存在一些争论。

我知道这在很大程度上取决于交易量和存储的数据库数量以及其他特定于软件的因素,但是否有建议的一般经验法则?

例如,双 8 核 3.2 GHz 物理服务器(16 核)是否比双 16 核 2.6 GHz 服务器(32 核)更优惠?

有没有人遇到过进一步深入研究此类主题的白皮书?

performance sql-server clustering hardware vmware

33
推荐指数
2
解决办法
2万
查看次数

SSD 会降低数据库的实用性吗

我今天才听说罗伯特·马丁,他似乎是软件界的一个显赫人物,所以我的头衔并不是说看起来像是一个点击诱饵或我在他嘴里说的话,但这只是我是如何以我有限的经验和理解来解释我从他那里听到的。

我在看一个视频今天(关于软件架构),Robert C. Martin 的演讲,在视频的后半部分,数据库的主题是主要焦点。

根据我对他所说的话的理解,他似乎是在说 SSD 会降低数据库的实用性(相当大)。

解释我是如何得出这种解释的:

他讨论了如何使用 HDD/旋转磁盘,检索数据很慢。然而,他指出,现在我们使用固态硬盘。他从“RAM 即将到来”开始,然后继续提到 RAM 磁盘,但随后说他不能称之为 RAM 磁盘,因此只说 RAM。所以对于 RAM,我们不需要索引,因为每个字节都需要相同的时间来获取。(这一段是我转述的

因此,他建议 RAM(如在计算机内存中)作为 DB 的替代品(正如我将他的声明解释为那样)是没有意义的,因为这就像说所有记录在应用程序的生命周期内都在内存中处理(除非您根据需要从磁盘文件中提取)

所以,我用 RAM 来思考,他的意思是 SSD。因此,在这种情况下,他是说 SSD 会降低数据库的实用性。他甚至说:“如果我是甲骨文,我会害怕。我存在的根本原因正在消失。”

根据我对 SSD 的一点了解,与 HDD 不同,HDD 是O(n)寻道时间(我认为),SSD 接近O(1)或几乎是随机的。所以,他的建议对我来说很有趣,因为我从来没有这样想过。几年前我第一次接触数据库时,当一位教授描述与常规文件系统相比的好处时,我得出的结论是数据库的主要作用本质上是一个非常索引的文件系统(以及优化、缓存、并发访问、等),因此,如果 SSD 中不需要索引,这种类型确实会使数据库变得不那么有用。

尽管如此,以我是新手的开头,我发现很难相信它们变得不那么有用了,因为每个人仍然使用 DB 作为其应用程序的主要点,而不是纯粹的文件系统,并且感觉好像他过于简单化了数据库的作用。

注意:我确实一直看到最后,以确保他没有说不同的话。

供参考:42 : 22是整个数据库主题出现的时候, 43:52是他开始说“为什么我们甚至有数据库”的时候

这个答案确实说 SSD 大大加快了数据库的速度。 这个问题询问优化是如何改变的。

对于TL;DR我的问题,SSD 在服务器市场(无论是即将到来还是已经发生)的广泛使用是否会降低数据库的实用性?

似乎演示者试图传达的是,使用 SSD,人们可以将数据存储在磁盘上,而不必担心检索数据会像使用较旧的 HDD 一样慢,与使用 SSD 一样,寻道时间接近O(1)(我认为)。因此,如果这是真的,那么假设它会失去它所拥有的优势之一:索引,因为拥有索引以加快查找时间的优势已经不复存在。

performance index database-design hardware ssd

30
推荐指数
4
解决办法
6855
查看次数

如何针对更新(软件和硬件)的大量 I/O 优化数据库

情况 我有一个 postgresql 9.2 数据库,它一直都在大量更新。因此系统受 I/O 限制,我目前正在考虑进行另一次升级,我只需要一些关于从哪里开始改进的指导。

以下是过去 3 个月情况的图片:

在此处输入图片说明

如您所见,更新操作占磁盘利用率的大部分。这是另一张更详细的 3 小时窗口中情况的图:

在此处输入图片说明

如您所见,峰值写入速率约为 20MB/s

软件 服务器运行 ubuntu 12.04 和 postgresql 9.2。更新类型通常在由 ID 标识的单个行上进行小更新。例如UPDATE cars SET price=some_price, updated_at = some_time_stamp WHERE id = some_id。我已经尽可能多地删除和优化了索引,并且服务器配置(linux 内核和 postgres conf)也非常优化。

硬件 硬件是一个专用服务器,带有 32GB ECC ram、RAID 10 阵列中的 4 个 600GB 15.000 rpm SAS 磁盘,由带有 BBU 的 LSI RAID 控制器和英特尔至强 E3-1245 四核处理器控制。

问题

  • 对于这种口径(读/写)的系统,图表所看到的性能是否合理?
  • 因此,我应该专注于进行硬件升级还是深入研究软件(内核调整、confs、查询等)?
  • 如果进行硬件升级,磁盘数量是性能的关键吗?

- - - - - - - - - - - - - - - 更新 …

postgresql performance update hardware

23
推荐指数
2
解决办法
3万
查看次数

SQL Server 2008R2 的最佳驱动器配置

我有一个运行 SQL Server 2008 R2 的相当繁忙的数据库服务器,它具有以下设置:

  • SATA RAID 1(2 个驱动器) - 操作系统/程序
  • SAS RAID 10(4 个驱动器) - Sql 数据库文件(数据和日志)
  • SAS RAID 1(2 个驱动器)- TempDB(数据和日志)

假设我无法向此服务器添加额外的驱动器,我是否充分利用了可用的配置?或者我应该在这里考虑另一种方案,例如,将日志与数据文件隔离开来?

更新:

对于那些需要更多硬件详细信息的人:

  • SATA 驱动器(用于操作系统/程序分区)是: WD 7200 RPM 3 Gb/s 3.5 英寸 SATA
  • 其他阵列中使用的 SAS 驱动器是: Seagate 15K RPM 6 Gb/s 3.5 英寸 SAS
  • 使用的 RAID 控制器是:LSI 9260-8i SAS/SATA 6 Gb 8 端口

更新 2:

根据我收到的反馈,我似乎有以下可行的选项可供选择 - 我会将赏金奖励给可以告诉我哪个可能是我概述的环境中最好的人:

  1. 保持原样 - 我可能不会做得更好
  2. 将我的 2 个 SAS RAID 1 驱动器移动到我现有的 RAID 10 阵列中,使其总共由 6 个磁盘组成
  3. 将我的日志文件移动到 …

sql-server hardware

19
推荐指数
2
解决办法
2万
查看次数

如何在 SQL Server 机器上扩展卷?

这是针对系统操作员(或之前经历过这种经历的人)的一个问题。

我的公司希望在生产中的现有 SQL Server 机器上分配额外的磁盘空间。我们想知道扩展卷(磁盘管理中的“扩展卷...”)是否可以在线完成,或者是否需要关闭 SQL Server 服务。

有什么理由应该停止 SQL Server 服务来执行此操作,还是可以在白天执行此操作?

以防万一系统规格相关。这是一个运行 Windows 2012 R2 和 SQL Server 2008 R2 的真实机器(无虚拟化)。

谢谢!

sql-server sql-server-2008-r2 disk-space hardware

16
推荐指数
1
解决办法
4037
查看次数

SQL Server 未使用所有 CPU 内核/线程

升级 SQL Server 的硬件后,我们在 Windows 任务管理器中注意到 SQL 实例仅使用了可用线程的一半:

任务管理器.

服务器具有以下硬件和软件:

  • Windows 2008 R2 企业版 64 位 SP1
  • Intel Xeon E7-4870 - 4 个处理器(40 个内核,80 个线程)
  • Microsoft SQL Server 2012 企业版(64 位)

运行select cpu_count from sys.dm_os_sys_info返回 40。

操作系统可以看到所有 80 个线程。

为什么只使用了服务器一半的处理能力?

我们在两台服务器上拥有相同的硬件和软件,并且它们都表现出相同的行为。

sql-server sql-server-2012 hardware

15
推荐指数
2
解决办法
5万
查看次数

更多的 CPU 内核与更快的磁盘

我是一家小公司的一员,所以像往常一样负责许多不同的角色。最新的是为我们的 .NET Web 应用程序采购一个专用的 SQL Server 盒。我们在双 Xeon E5-2620(六核)2.00 GHz CPU 配置(共 12 核)上被引用,具有 32 GB 的 RAM。这使我们的磁盘阵列预算有限,该磁盘阵列基本上由 RAID 1 配置中的两个 2.5" SAS 300 GB 驱动器 (15k RPM) 组成。

我知道磁盘设置对于 SQL Server 来说是次优的,我真的很想推动 RAID 10,这样我们就可以将数据库、日志文件和 tempdb 放在他们自己的驱动器上。为了使这与我们的预算兼容,我应该考虑减少 CPU 内核的数量吗?或者我会得到更好的银行来保持核心并使用更少的驱动器,也许在双 RAID 1 设置中使用 4 个?

这是一些额外的统计数据

  • SQL Server 数据库倾向于大量读取到写入,可能分别为 80% 和 20%。当前的数据库大小目前约为10 GB 26 GB,以每月 250 MB 的速度增长。

  • 目前在与 Web 服务器共享的单个四核 Xeon 机器上运行 SQL Server 2008 R2 Standard(RAID 1 中的 12 GB Ram、2 x 10k 300GB SAS 驱动器),希望迁移到 SQL Server …

performance sql-server configuration hardware

14
推荐指数
1
解决办法
8407
查看次数

SQL Server 2017(包括旧版本)是否支持 8k 磁盘扇区大小?

磁盘(松散的措辞不仅包括旋转媒体,还包括非旋转媒体 [SSD、NVMe 等])驱动器在其底层格式和硬件方面不断发展。其中一部分是从 512 字节物理扇区大小到 4k 物理扇区大小的“增强”,这改变了磁盘布局(512n、512e、4kn)。

下一个演变是使用 8k 物理扇区大小,一些制造商开始生产并在生产中设置。鉴于下一步,Windows 是否支持 8k 扇区大小的磁盘?SQL Server 是否关心扇区大小?

sql-server hardware

14
推荐指数
1
解决办法
893
查看次数

为什么 SQL Server 查询使用的磁盘 I/O 不超过 7MB/秒

我有一个 SSD,使用 IOmeter 测试,显示性能超过 200MB/s。但是,当我从本地机器运行任何 SQL 查询时,Windows 资源监视器永远不会显示超过 7MB/秒的磁盘 IO。即使对于运行时间超过 2 分钟的查询也是如此。瓶颈是什么,它仅使用 SSD 的 7MB/秒?

我在跑:

  • Windows Server 2012 标准版
  • SQL Server 2008 r2
  • 英特尔 i7 3820
  • 32GB 内存
  • 磁盘固态硬盘

sql-server sql-server-2008-r2 hardware

11
推荐指数
1
解决办法
1826
查看次数

sql server 2008 r2 的一般内存要求

我对 DBA 工作没有经验,但我正在尝试为我们的 sql server 请求额外资源提供一个案例,并希望我可以让一些聪明的人粗略估计我们应该运行的内容。我怀疑 IT 分配给我们的生产 sql server 的资源分配很低。

硬件软件:

数据库:sql server 2008 r2 企业数据库

Windows:Windows 2008 r2 Enterprise 64 位,非常确定可以在 VMware 上运行。

处理器:Intel(R) Xeon(R) CPU E7-4860 @ 2.27GHz 2.26 GHz(2 个处理器)

安装内存:4GB

数据库文件硬盘:300GB

备份硬盘:150GB

日志硬盘:100GB

应用:

我们有 3 个主要数据库,数据加起来大约为 170GB,同一台服务器上的 Reporting Services 数据库 (SSRS) 可能包含每天生成的 10 个不同的报告(每个报告平均包含 70 万条记录)。我们的用户群大约有 20 个同时使用的用户,其中 5 个可能被认为是“资源密集型”,生成数据处理大型报告。大多数用户通过asp.net 网站和报表服务器网站与数据库进行交互。此外,我们的开发人员通过直接远程连接到服务器(最多 2 个远程连接)在 BIDS 中广泛使用 SSIS。最后,我们有一个相当复杂的数据仓库操作,它可能每天通过也在服务器上运行的 SSIS 包带来 300 万条记录。

当前问题:

我们有长期的服务器超时,对网站的响应时间非常糟糕。我怀疑我们拥有的内存量(4GB)可能是一个很大的瓶颈。我们之前对额外内存的请求已被拒绝,因为我们需要执行更多查询优化的常见响应。虽然我们不是 sql 专业人士或(我相信您可以通过我们的设置看出)db admin 专业人士,但我想确保我不会花费所有时间试图挤出一点潜在的性能,如果硬件是瓶颈。

感谢所有人的 tl;dr 回避!

performance sql-server ssrs sql-server-2008-r2 hardware

11
推荐指数
2
解决办法
1万
查看次数