记一次生产数据库意外重启的经历
最终结果为:
4)查看 memory 存储引擎占用多少内存
查询结果为:
以上四项加起来差不多也就27975MB,差不错28G的样子,但是 MySql 进程显示占用了52.4G,那么剩下24.4G去哪了? 线程池 此线程池非彼连接池,其实两者是有很大区别的,连接池一般在客户端设置,而线程池是在DB服务器上配置;另外连接池可以取到避免了连接频繁创建和销毁,但是无法取到控制MySQL活动线程数的目标,在高并发场景下,无法取到保护DB的作用。比较好的方式是将连接池和线程池结合起来使用。 关于线程池的一些参数:
thread_handling: 该参数是配置线程模型,默认情况是one-thread-per-connection,也就是不启用线程池。将该参数设置为pool-of-threads即启用了线程池。 threadpoolsize: 该参数是设置线程池的Group的数量,默认为系统CPU的个数,充分利用CPU资源。 threadpooloversubscribe: 该参数设置group中的最大线程数,每个group的最大线程数为threadpooloversubscribe+1,注意listener线程不包含在内。 threadpoolhighpriomode: 高优先级队列的控制参数,有三个值(transactions/statements/none),默认是transactions,三个值的含义如下:
threadpoolhighpriotickets: 该参数控制每个连接最多语序多少次被放入高优先级队列中,默认为4294967295,注意这个参数只有在threadpoolhighpriomode为transactions的时候才有效果。 threadpoolidle_timeout: worker线程最大空闲时间,默认为60秒,超过限制后会退出。 threadpoolmax_threads: 该参数用来限制线程池最大的线程数,超过该限制后将无法再创建更多的线程,默认为100000。 threadpoolstall_limit: 该参数设置timer线程的检测group是否异常的时间间隔,默认为500ms。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |