集群线程有哪些,用途是什么
百度
操作系统层面 OB只有一个进程。ps -ef|grep observer
在 OceanBase 数据库中,线程可以大致分为以下几类,每类线程都有其特定的功能和作用:
租户线程:
功能:负责处理租户的 SQL 和事务请求。
命名规则:TNT_L_,其中 TNT 表示租户线程,L 表示处理嵌套层级为 n 的请求, 是租户的唯一标识
系统线程:
Net IO:处理网络 I/O 请求
Disk IO:处理磁盘 I/O 请求
DAG 线程:用于 Partition 的转储、合并、迁移等任务的执行
Clog Writer:负责写 Clog(Change Log)
Election Worker:负责选举相关任务
Misc Timer:包括多个后台定时器线程,主要负责清理资源
后台线程:
TsMgr:用于本地 GTS Cache 的刷新
WeakReadSvr:用于计算本地 Server 级别备机读时间戳
HAGtsSource:用于 ha_gts 的刷新,刷新频率由配置项 gts_refresh_interval 控制
TransCheckpoint Worker:负责用户事务的 Checkpoint 操作
GCPartAdpt:定期检查 all_tenant_gc_partition_info 表,获取分区的 GC 情况,用于 GC 和事务 2PC 的推进
总结
租户线程:处理租户的 SQL 和事务请求,命名规则为 TNT_L_
系统线程:处理网络 I/O、磁盘 I/O、Partition 转储、合并、迁移、Clog 写入、选举、资源清理等任务
后台线程:包括 TsMgr、WeakReadSvr、HAGtsSource、TransCheckpoint Worker、GCPartAdpt 等,分别负责 GTS Cache 刷新、备机读时间戳计算、ha_gts 刷新、事务 Checkpoint 操作和分区 GC 等任务
top -H|grep admin 通过这个命令可以查看有哪些线程在干活
集群中的线程配置主要用于不同的功能需求,以下是一些重要的集群级线程配置及其用途:
-
sql_net_thread_count:
- 用于设置 MySQL 集群 IO 线程的个数,即
global_sql_nio_server
线程的个数。 - 默认值为 0,表示与配置项
net_thread_count
的值相同。
- 用于设置 MySQL 集群 IO 线程的个数,即
-
auto_leader_switch_interval:
- 用于设置自动切主后台线程工作间隔时间。
-
switchover_process_thread_count:
- 用于设置主备库切换相关线程池的大小。
-
sql_login_thread_count:
- 用于设置处理 SQL 登录请求的线程数量。
-
sql_audit_memory_limit:
- 用于设置 SQL 审计数据可占用的最大内存。
-
enable_sys_table_ddl:
- 用于指定是否允许手动创建系统表。
-
internal_sql_execute_timeout:
- 用于设置系统内部 DML 请求的时间间隔。
-
px_workers_per_cpu_quota:
- 用于设置并行执行工作线程数的比例。
-
px_task_size:
- 用于设置 SQL 并行查询引擎每个任务处理的数据量大小。
-
max_px_worker_count:
- 用于设置 SQL 并行查询引擎使用的最大线程数。
详情请参考:
你的最全,信你
官方
谢谢分享,学习了。
去测试
多了
百度一下
百度
不可说
查看官方文档
可以