当前位置: 首页 > news >正文

外国人做网站口碑营销的主要手段有哪些

外国人做网站,口碑营销的主要手段有哪些,徐州建设工程网官网,六年级上册如何做网站GC 流程涉及到 RS 的状态切换和 LS 的资源安全回收,流程上较长。且 GC 线程每个租户仅有一个,某个日志流 GC Hang 死时会卡住所有其余日志流的 GC,进而造成更大的影响。 本文档会帮助大家快速定位到 GC 故障的模块,直达问题核心。…

GC 流程涉及到 RS 的状态切换和 LS 的资源安全回收,流程上较长。且 GC 线程每个租户仅有一个,某个日志流 GC Hang 死时会卡住所有其余日志流的 GC,进而造成更大的影响。

本文档会帮助大家快速定位到 GC 故障的模块,直达问题核心。

基本概念

在 OceanBase 数据库 V4.x 版本中,GC 的条件只有两个,一是不在成员列表中,二是 __all_ls_status 表中对应 LS 被标记为进入 GC 状态。对于不在成员列表中的副本,我们直接调用 ls service 的remove ls 接口即可,不需要对表做任何处理。对于标记删除的副本,leader 会和 RS 通过推进状态机到删除 __all_ls_status 表中对应 ls 的行,然后所有副本都会正常的 remove ls。 总之,在当前 leader 的成员列表中且 __all_ls_status 中对应行依然存在的日志流,是不满足 GC 条件的,因此不会开始 GC,判断 GC 问题需要先明确此条件。 remove ls 流程基本上流程可重入。当某个日志流的某个模块 remove 不满足条件时,可以退出此轮,避免 GC 线程卡住。

常见问题排查思路

找到 GC 卡住的 LS

  • 如果明确怀疑某 LS 没有 GC 时(类似迁移失败场景),首先需要确定该 LS 是否满足 GC 条件,具体可查询 __all_virtual_log_stat 表。

    obclient> select * from __all_virtual_log_stat where tenant_id = xxx and ls_id = xxx;
    

    1

    如果某副本不在 Leader 的成员列表中,则满足 GC 条件。否则继续查 __all_virtual_ls_status 表:

    obclient> select * from __all_virtual_ls_status where tenant_id = xxx and ls_id = xxx;
    

    2

    如果结果存在并且 status 为 NORMAL,则不满足 GC 条件。结果不存在或不为 NORMAL 都满足条件。

    只有满足 GC 条件的 LS 才有继续分析的必要,否则请分析到底是成员列表更新失败或是 ls_status 更改状态失败。

  • 如果没有怀疑的 LS 目标,只知道租户 GC 卡住了,则需要找到卡住的 LS。

    obclient> select ls_id, gc_state, gc_start_ts from __all_virtual_ha_diagnose where tenant_id = xxx and svr_ip = 'xxx' and svr_port = xxx;
    

    3

    • 查询结果中 gc_start_ts 不为 -1 的就是卡住的日志流,如果有复数个不为 -1 的日志流,选择任意一个即可。
    • 如果所有 LS 的结果均为上图所示,gc_state 为 NORMAL 且 gc_start_ts 为 -1,表示所有日志流都不满足 GC 条件。需要分析删除租户的命令执行是否有问题。
    • 查询超时,大概率有 LS 的死锁,直接抓堆栈查看 Txxxx_GC 线程是否有死锁。
    • 查询无结果,但是 Unit 依然没有删除,说明 GC 卡在了某个日志流的析构或资源释放,可通过 grep Txxxx_GC observer.log | grep id:xxxx 查询。

找到卡住的模块

在确定卡住的日志流之后,下一步需要确定卡住的具体模块,具体可查询 __all_virtual_ha_diagnose 表。

obclient> select ls_id, gc_state, gc_start_ts from __all_virtual_ha_diagnose where tenant_id = xxx and svr_ip = 'xxx' and svr_port = xxx;
  • 如果查询结果不存在,则说明 GC 流程中状态机的推进已经完成,LS 进入了 remove ls 阶段并且已经从 ls 的 map 中摘掉了,剩下的就是等待这个日志流满足 safe_to_destroy 的条件后安全析构。在日志中搜索该日志流的 GC 线程日志,应该可以搜到循环报错的模块,此模块就是不满足 safe_to_destroy 的根因。

    grep Txxxx_GC observer.log | grep id:xxxx
    
  • 如果查询结果存在,则代表 GC 流程卡在某个状态机的推进过程中,如卡在等待事务全部结束,同样搜索 GC 线程的日志关于此日志流循环打印的地方找到根因。

  • 如果存在结果不存在,则大概率 GC 线程死锁,抓堆栈查看 GC 线程即可。

适用版本

OceanBase 数据库 V4.x 版本。

http://www.hkea.cn/news/810483/

相关文章:

  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包前端优化
  • 论坛网站开发开题报告青岛百度推广多少钱
  • 文山做网站如何优化百度seo排名
  • 上海展陈设计公司有哪些成都网站seo性价比高
  • 小韩网站源码360广告投放平台
  • 网站地图的重要性短信广告投放软件
  • 搭建直播网站需要怎么做教育培训机构平台
  • 濮阳网站网站建设网络营销策划是什么
  • 做新闻网站需要什么手续河北软文搜索引擎推广公司
  • 广州网站建设联系电话seo推广的公司
  • 一起做网店一样的网站关键词歌曲免费听
  • 负责网站建设推广本周热点新闻事件
  • 快速做网站优化谷歌在线浏览入口
  • 苏州企业网站建设开发与制作2023年6月份又封城了
  • 用java做网站可以吗吉林seo刷关键词排名优化
  • 网站建设面试google广告投放技巧
  • 整形网站整站源码如何让关键词排名靠前
  • php网站后台搭建外贸网站大全
  • 建 新闻 网站营销战略有哪些内容
  • 营销融合app网站seo招聘
  • 快速做网站的方法网站换了域名怎么查
  • 建筑工程网络计划图怎么编制百度seo搜索排名
  • 免费建网站系统百度云登陆首页
  • wordpress 采集微博网站建设优化
  • 做淘宝客新增网站推广百度用户服务中心人工电话
  • 域名备案网站建设书模板百度统计登录
  • 禁止WordPress访问官网优化关键词排名提升
  • 爬取漫画数据做网站今日热搜新闻头条
  • 雄安网站建设制作网站关键词如何快速上首页
  • 佛山从事网站建设百度小程序入口官网