云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

亚马逊云_美国高防御服务器_稳定性好

小七 141 0

亚马逊云_美国高防御服务器_稳定性好

当ASE体验过程缓存自旋锁争用时,大多数用户实现两种方法来减少自旋锁争用:

trace flag(TF)753(disable large allocation)和预定dbcc proc\u cache(free\u unused)来删除未使用的计划。

在这个博客中,我想给你更多关于tf753的信息,以及这个TF如何帮助减少争用。

当ASE过程缓存管理器请求内存时,云服务器好用吗,没有足够的空闲过程缓存或没有足够的连续内存块。ASE内存管理器从过程缓存中刷新未使用的存储过程计划以释放内存。内存管理器再次尝试获取请求的内存。如果由于释放的内存太小或没有释放足够大的连续内存块而仍然不可用,云购,则memory manage会找到另一个未使用的存储过程计划并再次刷新它。它会重复调用,直到获得内存或出现701错误。当出现错误701时,所有未使用的过程计划都被清除。所有这些操作都需要自旋锁。在过去,过程缓存分配总是在2K块中进行。在ASE12.5中,最大分配内存增加到16K。在ASE15中,最大分配内存增加到64K。自动调整大分配的思想是减少当连接请求一大块过程缓存时过程的替换次数。该特性是通过基于来自同一连接的先前分配请求来扩展请求的大小来实现的。它从请求2K开始,多线云主机,如果请求在预定义的时间内成功,则请求的大小将增加一倍。ASE遵循相同的算法,直到满足所有请求。如果请求在两者之间失败,它将减小大小并再次放大。当工作负载较重或过程缓存接近满时,一个进程可能需要较长的时间来获取内存并导致过程缓存自旋锁争用.跟踪标志753用于禁用内存管理器中的大分配自动调谐。

ASE引擎本地缓存(ELC)。是另一种缓解问题的方法,ASE ELC不需要spinlock来访问它。ELC存在于ASE过程缓存中。在ASE16文档中,它对ELC和增强提供了很好的解释。

过程缓存增强

高工作负载场景会增加过程缓存上的争用,中国移动物联网,SAP ASE通过为每个引擎留出本地内存来减轻争用。因为这个内存是本地的,访问它不会引起争用。

在16.0之前的版本中,电子商务数据分析,SAP ASE为引擎本地缓存(ELC)预留了25%的过程缓存,供特定大小的请求使用。使用跟踪标志758将过程缓存的大小增加到50%,并使ELC可用于所有请求大小。

SAP ASE版本16.0及更高版本默认启用ELC。50%的过程缓存用于ELC,它为所有请求大小提供服务。引擎本地缓存百分比配置参数确定ELC的大小。默认值50表示本地缓存使用过程缓存的50%,每个引擎接收:

((0.50*procedure\u cache\u size)/number\u of \u online\u engines)

增加ELC的大小可以减少过程缓存上的争用。例如,要将ELC从默认的50%增加到60%,问题:

sp_configure'engine local cache percent',60

另外,SAP ASE版本16.0和更高版本包含这些配置参数以控制引擎本地缓存:

启用大数据块ELC(替换traceflag 758)大分配自动调谐(取代traceflag 753)