SQLServer服务器内存升级后性能恶化

SQLServer服务器内存升级后性能恶化,第1张

SQLServer服务器内存升级后性能恶化,第2张

前不久,一个在企业从事网管的朋友,就升级SQL Server内存后遇到的问题向我求助。原来他们公司要有企业邮箱系统了。为了省钱,他们准备将企业的邮箱服务器部署在原来的SQL Server服务器上。为了提高这台服务器的性能,使其能够承担其两个应用服务的重任,他们升级了内存。从原来的1G升级到2G。
然而,内存升级后,邮箱应用服务的性能并没有得到提升,反而有恶化的趋势。运行一段时间后,该服务器上运行的邮箱系统出现异常情况。不定期会报告内存分配不足的情况。起初,他们认为邮箱服务器与SQL Server服务器不兼容。所以邀请了邮箱服务器的技术人员来查看。经过检查,他们发现SQL Server服务占用的大部分内存都是由。SQL Server服务所需的内存从升级到1.5g之前的600M左右突然增加..难怪邮箱应用程序服务必须提醒没有足够的内存。
一、原因分析。
这种问题很正常,我们也遇到过几次类似的故障。当SQL Server数据库启动时,数据库系统将根据物理内存的大小动态增加或减少缓存的容量。这主要是为了提高SQL Server的性能。
我们知道,一般来说,缓存越大,SQL Server的性能越好。这主要是因为有些用户查询的所有数据都可以放在缓存中(也就是内存的一部分)。这样,当用户下次再次需要这些数据时,就不需要在硬盘中读取,而是可以直接在内存中读取。从内存中读取数据比从硬盘中读取数据要快得多。
所以,只要服务器的可用内存在4MB到10MB之间,数据库系统就会不断的扩展缓存。这样,当邮箱服务器突然需要使用比较大的内存时,比如备份邮箱或者用户群发邮件时,就会报错说“内存分配不足”。
所以一般只是内存升级,往往无法解决SQL Server服务等应用服务抢占内存的问题。为了使SQL Server与其他应用服务友好共存,数据库管理员还需要合理分配内存,以限制SQL Server数据库服务的内存占用率。
二。解决方案。
针对他们企业的这种情况,考大给出两点建议。首先,合理地给SQL Server数据库分配内存。相反,不要将SQL Server服务与其他应用程序服务放在同一个服务器上。毕竟有更多的并发访问数据库服务,这对服务器的性能要求更高。
如果企业选择第一种响应,它需要限制SQL Server的内存利用率。为了使运行在同一台服务器上的SQL Server服务器和邮箱服务达到合理的性能并和平共存,有必要采取一定的措施来限制SQL Server数据库服务的内存使用。在SQL Server中,专门提供了一个工具(数据库引擎)来帮助我们干预SQL Server的内存分配。
具体可以配置如下。
步骤1:打开SQL Server企业管理器。
在SQL Server数据库中,提供了带有图形界面的企业管理器。SQL Server的大多数服务都可以在这个管理平台上进行管理和配置。SQL Server数据库服务的内存分配规则也不例外,可以在这里进行调整。
第二步:找到我们需要调整的服务器。
一些企业可能在网络中部署了多个SQL Server服务器。对于管理方面,它将在一台服务器上的企业管理器中集中管理。但是,他们在该企业中只有一台SQL Server。在我们需要调整的服务器上,右键单击并选择“属性”。然后会弹出一个对话框。在对话框中选择“内存选项卡”。在这里,您可以设置数据库应用服务的内存分配方法。
第三步:调整相关内存参数。
在该页签中,一般有两个参数,即最小服务内存和服务内存。在实践中,我们经常有两种配置方法。
首先,配置一个最小内存。即,为SQL Server数据库应用程序服务设置新的内存。这种情况下,过了这个范围,数据库系统会根据实际情况在内存范围内调整内存分配。一般情况下,我们不需要设置最小内存,只需要限制内存。这就给了数据库自主选择的权利。可以提高存储器的使用效率。
第二种是固定内存分配。也就是说,“最小服务内存”和“服务内存”这两个参数被设置为相同。这样,无论数据库服务需要多大的内存,当服务器启动时,操作系统都会为其预留这么大的内存。其他应用的及时内存再短,也不会跨越数据库的内存域。显然,这种方法虽然保证了数据库服务的内存需求,但内存利用率并不是很高。
鉴于以上两种方法,我们更倾向于使用第一种配置,即只限制数据库应用服务的内存使用。只要不超过这个范围,服务器可以独立调解。那么这个合适的使用率是多少呢?这主要取决于企业提供的服务。由于这个企业在同一个服务器上运行邮箱服务器和数据库服务器,可能会对硬件造成很大压力。因为这两个应用服务涉及更多的并发访问。所以即使硬件升级到2G,估计也分配不出更多的内存给数据库服务。一般来说,并发访问越多,可以分配给它的内存就越多。
配置完成后,此规则无需重新启动即可生效。但是,建议重新启动SQL Server服务。如果可能,重新启动服务器。在这种情况下,操作系统将根据这个规则重新调整和分配内存。也可以让SQL Server服务器有更好的队列内存进行合理的安排。例如,SQL Serve的可用内存可以固定在一个连续的区域中,以提高数据库的性能。
三。总结。
鉴于这次内存升级带来的困扰,考试中有几句。
首先,硬件升级只是提高数据库服务器性能的充分条件,而不是必要条件。换句话说,硬件的升级并不一定带来服务器性能的提升。在升级硬件的同时,经常需要调整相关的配置。让硬件升级的优势发挥到极致。我觉得有时候服务配置比单纯的硬件升级更重要。一些没有经验的网管只知道硬件的升级,却忽略了业务的调整和配置。他们走进了死胡同,结果往往达不到他们的预期。
第二,一些高并发的应用服务器不要放在同一个服务器上。现在基于服务器和客户端模式的企业管理软件应用越来越多。这种模式的一个显著特点是并发访问频繁,给应用服务器带来很大压力。在一些对性能要求很高的企业中,为了优化服务器的性能,他们将数据库与前端应用服务器分开。而且,现在服务器价格已经逐渐被企业接受。据审查,企业没有必要在这方面省钱。如果多个应用程序服务有更多的并发访问,考虑将它们部署在不同的服务器上。从而提高每个应用服务的性能。
第三,如果在同一台服务器上部署多个应用服务,要考虑应用服务的稳定性。因为这个企业把数据库和邮件服务器部署在同一个服务器上,国考大学不认同。因为邮箱服务器是比较容易受到攻击的服务器。垃圾邮件、病毒邮件等。可能导致服务期的非正常运行。将邮箱服务放在SQL Server数据库服务旁边会降低数据库服务的稳定性。或者可以单独部署它们

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQLServer服务器内存升级后性能恶化

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情