|
最终结果为:
- +-----------+
- | MEMORY_MB |
- +-----------+
- | 87.5156*37|
- +-----------+
4)查看 memory 存储引擎占用多少内存
- SELECT SUM(max_data_length)/1024/1024 AS MEMORY_MB FROM information_schema.tables WHERE ENGINE='memory';
查询结果为:
- +---------------+
- | MEMORY_MB |
- +---------------+
- | 3857.37713909 |
- +---------------+
以上四项加起来差不多也就27975MB,差不错28G的样子,但是 MySql 进程显示占用了52.4G,那么剩下24.4G去哪了?
线程池
此线程池非彼连接池,其实两者是有很大区别的,连接池一般在客户端设置,而线程池是在DB服务器上配置;另外连接池可以取到避免了连接频繁创建和销毁,但是无法取到控制MySQL活动线程数的目标,在高并发场景下,无法取到保护DB的作用。比较好的方式是将连接池和线程池结合起来使用。
关于线程池的一些参数:
- mysql> show variables like 'thread%';
- +-------------------------------+---------------------------+
- | Variable_name | Value |
- +-------------------------------+---------------------------+
- | thread_handling | one-thread-per-connection |
- | thread_pool_high_prio_mode | transactions |
- | thread_pool_high_prio_tickets | 4294967295 |
- | thread_pool_idle_timeout | 60 |
- | thread_pool_max_threads | 100000 |
- | thread_pool_oversubscribe | 3 |
- | thread_pool_size | 12 |
- | thread_pool_stall_limit | 500 |
- +-------------------------------+---------------------------+
thread_handling:
该参数是配置线程模型,默认情况是one-thread-per-connection,也就是不启用线程池。将该参数设置为pool-of-threads即启用了线程池。
threadpoolsize:
该参数是设置线程池的Group的数量,默认为系统CPU的个数,充分利用CPU资源。
threadpooloversubscribe:
该参数设置group中的最大线程数,每个group的最大线程数为threadpooloversubscribe+1,注意listener线程不包含在内。
threadpoolhighpriomode: (编辑:衢州站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|