【技术实现步骤摘要】
一种处理搜索系统Java实例垃圾回收的方法
本专利技术涉及软件系统运维领域,特别是涉及一种处理搜索系统Java实例垃圾回收的方法。
技术介绍
搜索系统是高内存消耗应用,搜索系统的实例应用普遍是配置较大的内存堆大小,一般每1000万条索引对应8G的内存实例,且GC本身也是CPU消耗过程。当出现大量搜索请求或长时间运行后,很难避免永久代内存增加导致发生FullGC,出现StoptheWorld机制(Java中的一种全局暂停的现象,即在执行垃圾收集算法时,Java应用程序的其他所有除了垃圾收集收集器线程之外的线程都被挂起,简称STW)。搜索服务器为了应对访问浪涌,一般会有一定的硬件性能冗余,因为单独某个的Java实例的GC是很难预估的,尤其结合分布式的特点,一个实例节点的STW会导致其他实例节点也会被动等待,如果其出现交叉STW的现象会更加复杂,容易导致搜索系统的吞吐量雪崩式下降。因此,需要一种基于特定策略的处理搜索系统Java实例垃圾回收的方法。
技术实现思路
本专利技术所要解决的技术问题是克 ...
【技术保护点】
1.一种处理搜索系统Java实例垃圾回收的方法,其特征在于,通过按照管理员配置的特定策略进行统一的垃圾回收策略(Garbage Collection,简称GC)的调配,用以减少因为搜索系统Java实例垃圾回收导致的全局暂停(Stop The World,简称STW)的时间,具体包括如下步骤:/n步骤1:在搜索系统中划分出不止一个的服务集群,每个集群由不止一个的Java实例组成,每个集群配置其对应的CPU负载阈值和内存使用率阈值,每个集群都配置对外服务的开关状态,状态分为开(Open)、关(Close)和等待(Wait);/n步骤2:配置搜索系统的主动GC监控线程,收集当前所 ...
【技术特征摘要】
1.一种处理搜索系统Java实例垃圾回收的方法,其特征在于,通过按照管理员配置的特定策略进行统一的垃圾回收策略(GarbageCollection,简称GC)的调配,用以减少因为搜索系统Java实例垃圾回收导致的全局暂停(StopTheWorld,简称STW)的时间,具体包括如下步骤:
步骤1:在搜索系统中划分出不止一个的服务集群,每个集群由不止一个的Java实例组成,每个集群配置其对应的CPU负载阈值和内存使用率阈值,每个集群都配置对外服务的开关状态,状态分为开(Open)、关(Close)和等待(Wait);
步骤2:配置搜索系统的主动GC监控线程,收集当前所有集群CPU和内存的实际运行状态,并将状态和阈值进行比对,通过可配置的算法调度插件对集群的对外服务的开关状态进行修改,选择一个集群作为主动GC调度的目标集群,目标集群的对外服务状态置为Close状态;
步骤3:将主动GC调度的目标集群中的所有Java实例按照当前CPU和内存的使用运行状态进行队列排序;
步骤4:根据当前所有服务集群的实际运行状态,采用串行(Serial回收器,单线程回收,全程stw)和并行(cms与G1,多线程分阶段回收,只有某阶段会stw)两种方式调用队列中每个Java实例的System.gc()主动申请GC;
步骤5:完成队列中所有Java实例的主动GC后,将目标集群对外服务状态改为Wait状态;
步骤6:搜索系统将接收到的搜索请求经过路由复制转发给Wait状态的集群,以进行服务的预热激活,经过特定的预热周期时长后,再将该集群的对外服务状态改为Open状态;
步骤7:搜索系统主动GC监控线程回到步骤2,继续监控需要主动GC调度的目标集群,直到主动GC监控线程服务被关闭。
2.如权利要求1所述的一种处理搜索系统Java实例垃圾回收的方法,其特征在于:所述步骤2中,根据可配置算法从搜索服务集群中选择一个作为主动GC调度的目标集群,将目标集群的对外服务的开关状态修改为Close状态,具体步骤包括:
步骤2-1:可配置算法的配置参数包括每个集群的CPU负载高位阈值(CH)、CPU负载低位阈值(CL)、内存使用率高位阈值(MH)和内存使用率低位阈值(ML);
步骤2-2:搜索系统主动GC监控线程收集每个集群的CPU实际负载状态为(CC),内存使用率状态为(MC),即存在CCi∈{CC1…CCn},MCi∈{MC1…MCn},其中n为当前搜索系统存在的服务集群数量,每个CCi、MCi来源于所对应的集群内所有实例占用的CPU和已使用的内存之和,即m为集群i中所包含的Java实例数量,每个Java实例都有自己对应的CPU使用数值SCj和内存使用数值SMj;
步骤2-3:依次判断是否存在MCi≥MHii∈[1,n],如果不存在,则跳转到步骤2-2,如果存在,则将(MCi-MHi)/MHi中取值最大的集...
【专利技术属性】
技术研发人员:姜平,
申请(专利权)人:焦点科技股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。