我们有10到20个Tomcat web应用程序,每个应用程序在一个服务器上有数百个并发用户。
每个Tomcat应用程序使用自己的用户连接到Microsoft 2008 R2服务器上的数据库。此数据库包含由Tomcat应用程序执行的大量存储过程。存储过程通常在多个表之间执行大型联接(通常在4-5个表与每个100k+记录之间联接)。
目前,这在32位Windows2008Tomcat和32位Server 2008 R2 (企业)上运行。服务器在多核处理器上有32-64GB的RAM。
我的直觉告诉我,我们应该更新到x64。这将防止将来发生的一些内存问题,这些问题现在可能在x64环境中得到更好的处理。不过,我找不到基准或证据。使用像/AWE和/PAE这样的标志感觉像是Server在人为地尝试着比开箱即用的性能更好,而在x64环境中,这一人工层并不是必需的。但我找不到任何“证据”。
是否值得将此配置更新为x64?我们会看到业绩的提高吗?多少钱?是否有基准支持这一点?
发布于 2012-10-09 17:24:34
在64位平台上,内存管理会更好。这是因为所有的内存都是真正的内存,不再有扩展内存的概念。
这意味着,在任何时候,内存中都可以有超过1G的执行计划。如果您有很多存储过程,您可能一直在为查询生成新的计划,因为您无法将所有计划存储在内存中。
假设计划缓存超过1g的能力将从缓冲池中删除,所以需要记住这一点(不,您无法控制计划缓存的大小)。
每张有100 K记录的4-5张表的连接并不那么可怕。当你进入100米范围时,事情就开始变得更有趣了。
https://dba.stackexchange.com/questions/25679
复制相似问题