Questions tagged «hardware»

4
CPU时钟速度与CPU核心数量之间的关系-更高的GHz,还是SQL Server使用更多的核心?
我们开始为VMware中的SQL Server 2016节点的虚拟群集提供一组物理服务器。我们将利用企业版许可证。 我们计划设置6个节点,但是关于在CPU时钟速度与CPU核心数之间提供物理服务器的理想方式尚有争议。 我知道这很大程度上取决于交易量和存储的数据库数量以及其他特定于软件的因素,但是建议使用一般经验法则吗? 例如,双8核3.2 GHz物理服务器(16核)是否比双16核2.6 GHz服务器(32核)更优先? 有谁遇到过进一步研究此类主题的白皮书?

4
SSD是否会降低数据库的实用性
我今天只听说过罗伯特·马丁(Robert Martin),看来他是软件界的佼佼者,所以我的意思不是要让我的头衔看起来像是点击诱饵,或者是我在他口中吐槽,但这仅仅是我以有限的经验和理解来解释我从他那里听到的信息。 我今天正在观看视频(关于软件体系结构),在Robert C. Martin的演讲中,在视频的后半部分,数据库主题是主要焦点。 根据我对他所说内容的理解,似乎他在说固态硬盘会降低数据库的实用性(相当可观)。 要解释我是如何进行这种解释的: 他讨论了使用HDD /旋转磁盘如何缓慢地检索数据。但是,这些天我们使用SSD。他以“ RAM即将到来”开始,然后继续提及RAM磁盘,但随后说他不能称其为RAM磁盘,因此只能说RAM。因此对于RAM,我们不需要索引,因为每个字节花费相同的时间来获取。(本段由我解释) 因此,他建议使用RAM(例如计算机内存中的内存)来代替数据库(因为这就是我解释他的声明的意思)没有任何意义,因为这就像说所有记录在应用程序的生命周期内都是在内存中处理的(除非您根据需要从磁盘文件中提取) 因此,我求助于RAM,他的意思是SSD。因此,在那种情况下,他说固态硬盘会降低数据库的实用性。他甚至说:“如果我是Oracle,我会感到害怕。我之所以存在的根本基础正在消失。” 从我对SSD的了解很少,不像HDD那样需要O(n)寻道时间(我认为),SSD接近O(1)或几乎是随机的。因此,他的建议对我来说很有趣,因为我从未想过。几年前,当我第一次被介绍给数据库时,一位教授描述了常规文件系统所没有的好处,我得出结论,数据库的主要作用本质上是一个索引很高的文件系统(以及优化,缓存,并发访问,等等),因此,如果SSD中不需要索引,这种方法会使数据库的使用率降低。 不管怎么说,以我是新手开头,我很难相信它们变得没有用,因为每个人仍然使用DBs作为其应用程序的主要观点,而不是纯文件系统,并且觉得他过于简化了。数据库的作用。 注意:我一直观察到最后,以确保他没有说不同的话。 供参考:42 : 22是整个数据库主题出现的时间, 43:52是他以“为什么还要拥有数据库”开始的时间 这个答案确实表明SSD大大提高了DB的速度。 此问题询问如何更改优化。 对于TL; DR,我的问题是,服务器市场上广泛使用SSD的出现(无论即将到来还是已经发生)是否会降低数据库的实用性? 似乎演示者试图传达的是,使用SSD,人们可以将数据存储在磁盘上,而不必担心像旧版HDD以及SSD一样检索数据的速度会很慢。O(1)(我认为)。因此,如果这是真的,那么假设会失去它的优势之一:建立索引,因为拥有索引以缩短查找时间的优势已荡然无存。

3
如何通过更新(软件和硬件)为重I / O优化数据库
这种情况 我有一个PostgreSQL 9.2数据库,它一直在大量更新。因此,该系统受I / O限制,我目前正在考虑进行另一次升级,我只需要一些有关从何开始改进的指导。 这是过去三个月情况的图片: 如您所见,更新操作占据了大多数磁盘利用率。这是在更详细的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)也都进行了优化。 硬件 硬件是一台专用服务器,在RAID 10阵列中具有32GB ECC ram,4个600GB 15.000 rpm SAS磁盘,由带BBU的LSI RAID控制器和Intel Xeon E3-1245 Quadcore处理器控制。 问题 对于这种口径的系统(读/写),图表显示的性能是否合理? 因此,我应该集中精力进行硬件升级还是对软件进行更深入的研究(内核调整,conf,查询等)? 如果进行硬件升级,磁盘数量是性能的关键吗? ------------------------------更新------------------- ---------------- 我现在已经用四个Intel 520 SSD而不是旧的15k SAS磁盘升级了我的数据库服务器。我正在使用相同的RAID控制器。事情已经大大改善了,从下面的内容可以看出,I / O的峰值性能提高了6到10倍左右-太好了! 但是,根据答案和新SSD的I …

5
SQL Server 2008R2的最佳驱动器配置
我有一台运行SQL Server 2008 R2的非常繁忙的数据库服务器,该服务器具有以下设置: SATA RAID 1(2个驱动器)-操作系统/程序 SAS RAID 10(4个驱动器)-SQL数据库文件(数据和日志) SAS RAID 1(2个驱动器)-TempDB(数据和日志) 假设我无法在该服务器中添加其他驱动器,是否充分利用了可用的配置?还是我应该在这里考虑另一种方案,例如将日志与数据文件隔离开? 更新: 对于需要更多硬件详细信息的用户: SATA驱动器(用于OS / Program分区)是: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: 基于我收到的反馈,它看起来像我有以下几个可行的方案可供选择-我将颁发奖金的人可以告诉我这是很可能是在环境最好的,我已经概述: 保留一切-我可能不会做得更好 将我的2个SAS RAID 1驱动器移到现有的RAID 10阵列中,使其总共由6个磁盘组成 将我的日志文件移动到SAS …

1
如何在SQL Server盒上扩展卷?
这是针对系统操作员(或那些曾经经历过此经验的人)的问题。 我公司想在生产中的现有SQL Server盒上分配额外的磁盘空间。我们想知道是否可以联机完成扩展卷(在磁盘管理中为“扩展卷...”),还是需要关闭SQL Server服务。 为何应停止SQL Server Service来执行此操作,还是在白天只执行此操作可以吗? 以防万一系统规格相关。这是运行Windows 2012 R2和SQL Server 2008 R2的真实设备(无虚拟化)。 谢谢!

3
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个线程。 为什么只使用服务器一半的处理能力? 我们在两台服务器上具有相同的硬件和软件,并且它们都表现出相同的行为。

1
SQL Server 2017(包括旧版本)是否支持8k磁盘扇区大小?
磁盘驱动器(松散地说不仅包括旋转介质,还包括非旋转介质[SSD,NVMe等])正在以其基本格式和硬件不断发展。其中一部分是从512字节物理扇区大小到4k物理扇区大小的“增强”,这改变了磁盘上的布局(512n,512e,4kn)。 下一个发展趋势是使用8k物理扇区大小,一些制造商已开始生产该物理扇区,并在生产中进行设置。下一步,Windows是否支持8k扇区大小的磁盘?SQL Server是否关心扇区大小?

2
更多的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%。当前的DB大​​小目前约为10 GB 26 GB,并且以每月250 MB的速度增长。 当前运行在与Web服务器共享的单个四核Xeon盒上的SQL Server 2008 R2 Standard(12 GB Ram,RAID 1中的2 x 10k 300GB SAS驱动器)上,希望迁移到SQL Server 2012 Standard。 数据库可以为大约100-150个并发用户提供一些后台调度任务。阅读这篇文章,我认为12个内核严重过头了! 我将整个应用程序部署到链接到SQL Azure DB的Azure云服务(2个小实例)。尽管在测试时性能是合理的(几乎为零负载),但由于我已经读了太多的不可预测性,所以我失去了在生产中使用的勇气。使用横向扩展方法可能会更好,但是只有10 GB的数据库,我现在可以避免扩展并节省一些现金。 我最初忽略了许可成本,却没有意识到SQL Server 2012许可是基于内核数量的。我有一个带有SQL Server 2012 Standard许可证的BizSpark MSDN订阅,因此我需要了解开箱即用的几个内核。

3
SQL Server 2008 R2的一般内存要求
我对DBA的工作没有经验,但是我正在尝试为SQL服务器请求更多资源,并希望我可以请一些聪明的人对应该运行的内容进行粗略的估计。我怀疑IT给生产sql服务器的资源分配很低。 硬件软件: 数据库: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!

1
为什么SQL Server查询不使用超过7MB /秒的磁盘I / O
我有一个固态硬盘,使用IOmeter测试,显示性能超过200MB / s。但是,当我从本地计算机运行任何SQL查询时,Windows资源监视器从不显示高于7MB /秒的磁盘IO。即使对于耗时超过2分钟的查询,这也适用。瓶颈仅来自SSD的7MB /秒是什么? 我在跑: Windows Server 2012标准版 SQL Server 2008 R2 英特尔i7 3820 内存32GB Sandisk SSD

1
行为异常DBCC Shrinkfile
我正在尝试对其中95%的数据已被存档和删除的数据库运行1GB的dbcc收缩文件。我用的是235GB的文件,其中9GB是数据/索引。我想缩小到50GB。我知道收缩数据库文件是不好的,它会导致碎片等。作为数据清除/收缩的一部分,我们还有一个重建idnex脚本。 当我在自己的工作站(四核,12GB RAM,2个SATA驱动器)上对数据库运行dbcc收缩文件脚本时,收缩过程大约需要8-10分钟。 当在数据库发布后数据清除的相同副本上运行相同的代码时,在我们的测试环境(80多个核,128GB RAM,SSD SAN)中,需要70分钟。请注意,运行收缩文件时,此服务器上几乎没有活动。它已运行4次,结果相同。 然后,我采取了另一种方法,将剩余的9GB移动到另一个文件组和物理文件。在空的230GB文件上运行dbcc收缩文件以将其缩减到50GB,在我自己的工作站上花费的时间不到1分钟。 使用相同的方法,在测试环境上,又需要70分钟以上的时间。 在测试环境运行70分钟的过程中,按照布伦特·奥扎尔(Brent Ozar)的脚本操作前后,我已经对waitstats进行了快照,并且返回的waittypes值得关注。下面的前3行: 秒采样时间采样持续时间(以秒为单位)wait_type等待时间(秒)等待次数平均每次等待的毫秒数 2013-05-28 11:24:22.893 3600 WRITELOG 160.8 143066 1.1 2013-05-28 11:24:22.893 3600 CXPACKET 20.9 13915 1.5 2013-05-28 11:24:22.893 3600 PAGELATCH_EX 11.1 443038 0.0 Windows事件日志显示没有异常。在这一点上,我要抓挠,为什么与独立工作站相比,忍者硬件要花这么长时间。

3
将事务日志文件放在单独的驱动器上是否会对性能产生好处?
有许多博客文章和最佳实践文章赞扬将SQL Server数据文件放在一个硬盘驱动器上并将事务日志放在另一个硬盘驱动器上的优点。给出的原因是,数据库文件将经历随机读写,而事务日志将仅具有顺序写。 但是,如果您有数百个数据库怎么办?将数百个事务日志文件放在单独的磁盘上,是否会对性能产生真正的好处?如果要写入多个事务日志,那么我认为事务日志的写入将与数据库写入的一样随机。

1
SQL Server不使用可用内存
Windows 2008R2 Enterprise上的SQL Server 2008 R2标准版(64位) 服务器具有超过300 GB的内存,但控制面板中的总内存使用量永远不会超过86 GB 将SQL配置为使用最大内存量 即使在大量使用的情况下-超过80%的CPU持续数分钟 专用SQL Server 几个大型数据库 一个频繁使用的表的索引大小仅超过10 GB 设置服务帐户以保留内存中的锁 那正常吗? 我可以测试什么? 我可以让SQL Server使用更多的内存吗?

1
组织具有大量RAM的SQL Server的策略
现在,我们有一个用于数据库的新服务器,除其他外,我们还有128GB的可用RAM(之前我有16GB)。我知道SQL Server非常擅长管理它的资源,但是我想知道在服务器/数据库设置或处理代码(存储的procs /索引等)中是否应该使用任何特殊设置或策略来确保SS采用可用ram的最大优势。 该数据库约为70GB,它是一个非事务性数据库(它是一个数据仓库)。因此,基本的大写操作然后再进行大量读操作是正常的事情。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.