我想知道thread_cache_size的合理值与您的连接有关。哪个比例好?你处理的比例与你的客户有关联吗?
谢谢!
发布于 2018-01-02 15:57:24
请记住,thread_cache_size控制“缓存”。它是线程(或进程,取决于操作系统)的数目,以保持打开,以防另一个连接请求很快到来。创建线程需要付出一定的代价。(这取决于操作系统等)
对于Windows,thread_cache_size应该是零。(对不起,我没有说明这一点的推荐信。)
如果thread_cache_size / max_connections < 2%或> 15%,则可能调节不良。
如果Threads_running / thread_cache_size > 2,那么缓存可能不够大。(这取决于连接的数量是稳定的还是剧烈波动的。)
我建议Threads_created / Connections不是一个很好的度量--如果您只有一个连接/秒或1000个连接/秒?因此,我更喜欢这样:如果Threads_created / Uptime >3/秒,我建议缓存需要增加。
在对系统的调查中,只有10%的系统Threads_created / Uptime > 0.26 /秒。
MySQL 5.6.8基于max_connections自动计算thread_cache_size。
MariaDB 10.2采用了一种不同的方法;它“将thread_cache_size的值增加到32;在从线程缓存中自动删除线程之前增加5分钟的超时时间”。这是一个很好的算法。
thread_cache_size.https://dba.stackexchange.com/questions/194369
复制相似问题