本文介绍异步执行架构的功能介绍。
前提条件
使用异步鉴权功能需满足以下版本要求:
PolarDB MySQL版8.0.2版本且修订版本为8.0.2.2.23及以上。
PolarDB MySQL版8.0.1版本且修订版本为8.0.1.1.42及以上。
使用异步日志功能需满足PolarDB MySQL版8.0.2版本且修订版本为8.0.2.2.29及以上。
PolarDB MySQL版开启异步执行功能需要阿里云后台支持,如需调整开通可以进入阿里钉群咨询63840000309。
参数说明
参数名 | 级别 | 说明 |
loose_thread_pool_async_auth | Global | 是否开启异步鉴权功能。
|
loose_thread_pool_async_switch | Global | 控制开启异步任务执行调度。
|
loose_thread_pool_ct_cache_size | Global | 异步任务缓存数量,可以提升异步执行性能,但是会占用更多的内存。 取值范围:1-100000。默认值:100。单位为Byte。 |
异步执行统计信息
新增information_schema.thread_pool_wait_status
表,用于统计 SQL 执行过程中的等待情况。该表包含以下字段,各字段含义如下:
列名 | 说明 |
ID | 异步执行分组ID。 |
WAIT_AUTH_HS_RESP | 正在异步处理鉴权的连接数量。 |
WAIT_REDO_LOG_FLUSH_ASYNC | 正在异步处理日志写盘的连接数量。 |
WAIT_ROW_LOCK_ASYNC | 正在异步处理的行锁等待连接数量。 |
示例
开启async_redo_log_flush
功能后,可能看到如下信息,表示当前正在异步等待日志写盘的连接数。