华为云云数据库rds连接线程池_云淘科技
功能介绍
当数据库并发连接过多时,存在大量资源竞争,MySQL服务器的性能会发生明显的下降。华为云RDS for MySQL提供了连接线程池,能够以少量活跃线程来服务大量数据库连接,将连接和执行解耦,在高并发场景下提高数据库性能。
功能特点
华为云RDS for MySQL连接线程池具有以下特点:
避免性能瓶颈,可以处理大量数据库连接,减少资源的争抢和上下文切换。
限制并发事务的数量,当数据库负载较高时,优先保障正在执行的事务。
避免由于连接得不到及时处理而出现线程异常问题。
当事务在等待IO和锁时,释放CPU资源以服务其他连接。
线程池相关操作
查询线程池参数
通过show variables命令查询线程池参数。
show variables like 'threadpool%'; +-----------------------------------+------------+ | Variable_name | Value | +-----------------------------------+------------+ | threadpool_enabled | ON | | threadpool_high_prio_tickets | 4294967295 | | threadpool_idle_timeout | 60 | | threadpool_long_conn_time | 2 | | threadpool_max_threads | 100000 | | threadpool_oversubscribe | 3 | | threadpool_prio_kickup_timer | 1000 | | threadpool_rec_launch_time | ON | | threadpool_size | 128 | | threadpool_slow_conn_log | ON | | threadpool_slow_conn_log_interval | 30 | | threadpool_slow_launch_time | 2 | | threadpool_stall_limit | 500 | +-----------------------------------+------------+
参数名 |
参数描述 |
---|---|
threadpool_enabled |
开启或关闭线程池。 |
threadpool_high_prio_tickets |
高优先级线程持有的tickets数量。 |
threadpool_idle_timeout |
线程销毁前等待的空闲时间(单位:秒)。 |
threadpool_long_conn_time |
登录时间超过此值,则在日志中打印此次登录信息。 |
threadpool_max_threads |
线程池共能创建的线程上限。 |
threadpool_oversubscribe |
每个线程组中最多能创建的额外线程数。 |
threadpool_prio_kickup_timer |
低优先级队列中最长停留时间(单位:毫秒)。 |
threadpool_rec_launch_time |
记录线程启动时间。 |
threadpool_size |
线程组数量。 |
threadpool_slow_conn_log |
是否记录慢登录到error log。 |
threadpool_slow_conn_log_interval |
记录频率,记录一次慢登录后,在此时间间隔内不再记录。 |
threadpool_slow_launch_time |
如登录、查询时间大于此值,则status中 threadpool_slow_launch_request增加1。 |
threadpool_stall_limit |
线程组忙碌检查间隔。 |
参数名 |
是否是动态参数 |
数据类型 |
取值范围 |
说明 |
---|---|---|---|---|
threadpool_enabled |
是 |
boolean |
[ON,OFF] |
ON:开启线程池。 |
threadpool_oversubscribe |
是 |
integer |
[1,50] |
每个线程组中最多能创建的额外线程数。 |
threadpool_size |
是 |
integer |
[1,512] |
线程组数量。 |
查询线程池状态
通过show status命令查询线程池状态。
show status like 'threadpool%'; +------------------------------------+------------+ | Variable_name | Value | +------------------------------------+------------+ | Threadpool_active_connections | 65 | | Threadpool_active_threads | 5 | | Threadpool_avg_launch_time | 0 | | Threadpool_dump_threads | 0 | | Threadpool_idle_threads | 63 | | Threadpool_running | ON | | Threadpool_slow_launch_request | 0 | | Threadpool_threads | 237 | | Threadpool_threads_high_water_mark | 1075 | | Threadpool_waiting_threads | 57 | | Threadpool_worst_launch_time | 692548 | +------------------------------------+------------+
状态 |
说明 |
---|---|
Threadpool_active_connections |
线程池中活跃连接数。 |
Threadpool_active_threads |
线程池中活跃线程数。 |
Threadpool_avg_launch_time |
平均等待时间(单位:毫秒)。 |
Threadpool_dump_threads |
dump线程数量。 |
Threadpool_idle_thread |
线程池空闲线程数。 |
Threadpool_running |
线程池是否在运行。 |
Threadpool_slow_launch_request |
超过slow_launch_request的次数。 |
Threadpool_threads |
线程池总连接数。 |
Threadpool_threads_high_water_mark |
历史高位线程数量。 |
Threadpool_waiting_threads |
waiting线程池状态。 |
Threadpool_worst_launch_time |
最坏启动时间(单位:毫秒)。 |
性能测试
模型 |
线程 |
线程池开关是否开启 |
QPS(每秒查询数) |
latency(时延,单位是毫秒) |
---|---|---|---|---|
oltp_update_non_index |
32 |
是 |
5932.47 |
7.84 |
oltp_update_non_index |
64 |
是 |
10074.11 |
9.39 |
oltp_update_non_index |
128 |
是 |
18079.61 |
10.65 |
oltp_update_non_index |
256 |
是 |
27439.38 |
14.46 |
oltp_update_non_index |
512 |
是 |
33007.96 |
28.16 |
oltp_update_non_index |
1024 |
是 |
30282.13 |
51.94 |
oltp_update_non_index |
2048 |
是 |
29836.86 |
95.81 |
父主题: 主要内核功能介绍
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家