重载Windows SQL Server


1

在过去的几个月中,我们一直在研究基于SQL的遗留系统,以提高性能,并在代码库中做了尽可能多的工作,因此现在我们将注意力转向基础架构。

问题是我们的旧系统偶尔会遇到SQL超时。

该旧系统位于运行公司所有SQL数据库的同一服务器上。诸如Sharepoint,Blackberry服务,用于x9虚拟服务器的服务器虚拟化数据库,在中型服务器上的一个SQL数据库上运行的众多特定于客户端的报告数据库之类的东西。服务器已使用三年了。您能否给我一个想法,就是这些服务器可能会使该服务器超载,如果是,那么最可能由哪一个负责?该公司有100-150名员工。服务器有4GB内存。

另外;

LegacySystemDB大小:14040384

SharepointSite1大小:6581568

vCenter 3412928

SharepointSite2大小:903032

其他分贝约50-100,000

谢谢


什么版本的SQL?
DanBig

PerfMon告诉您什么?

SQL2005。PerfMon会告诉我什么?没用过。好的,我会做的,谢谢
user38553 '20

Answers:


4

答案很简单,购买更多RAM并将其安装在服务器中。由于只有4 Gig的RAM,SQL可能只能使用2 Gig,而Windows使用的其他2 Gig。这样只能给SQL提供大约1 Gig的内存来缓冲数据。一旦该缓冲区已满,SQL所需的任何其他数据都必须来自磁盘。我的猜测是,您正在从磁盘中提取数据,将其保留在内存中仅几秒钟,然后将其刷新以腾出空间,使新数据可以进入内存。

首先添加更多的RAM。总共进行16次演出(再进行12次演出),看看它如何提高性能。

然后让某人对索引进行一些性能调整,看看是否需要添加或删除任何索引。您是否使用过SQL Profiler来识别昂贵的查询并对其进行调整?


1
更多RAM-仅在他的Windows服务器版本和体系结构支持的情况下。
mfinni

1
另外-不要建议将RAM作为第一件事。您只是在猜测;OP应该对其系统进行一些性能分析。也许他有一个存放tempdb的慢速磁盘,而且受到了打击。也许他的IO设置中还有其他问题,他没有描述甚至不知道要寻找。建议不要保证“更多RAM”是最好的第一种方法。这可能是浪费金钱。
mfinni

同意 尽管看起来RAM是这里的罪魁祸首(4 GB非常低),但是查找诸如Buffer I / O问题之类的东西将是查看是否甚至需要获得更多RAM的简便方法。
肖恩·霍华特

通常,服务器很可能没有适当的磁盘子系统。
TomTom

通常,我不会只是建议更多的RAM,而是只有4 Gig(对于SQL来说,这不超过2),在数据库可以缓存足够多之前,您无法真正判断出磁盘是否能够满足负载需求。 RAM中的信息。在处理vCenter数据库时,尤其如此,因为它整天都在读写大量信息。我敢打赌,如果OP要仔细查看缓冲区缓存数据,会发现它在缓存中保留的数据不会超过几秒钟。除非系统具有足够的缓存地址,否则磁盘将非常昂贵。RAM很便宜。
mrdenny
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.