2017-07-26 30 views
-1

32核心处理器(Windows 2012),大功率机器。 MySQL配置对线程数没有限制。但即使在前端可以看到大量用户活动,并且MYSQL监控显示每秒执行的查询超过1000个,但threads_running永远不会超过3。这是因为查询速度快,并且不需要多线程同时运行?MySQL threads_running始终保持在3

Delayed_insert_threads 0 
Slow_launch_threads 0 
Threads_cached 0 
Threads_connected 21 
Threads_created 138 
Threads_running 3 

要使配置文件发生什么变化,才能充分利用服务器的容量?

这些是与线程相关的配置设置。

thread_cache_size=10 
innodb_thread_concurrency=0 
innodb_read_io_threads = 64 
innodb_write_io_threads = 64 
innodb_purge_threads = 8 
+1

https://stackoverflow.com/questions/29587322/mysql-server-not-fully-utilized-threads-running-is-lesser-than-2 –

+0

@DitgitalChris是的,我看到之前我写这个问题,但那答案没有帮助。 –

+0

步骤0-检查您的性能问题是否需要排除故障? http://www.speedemy.com/troubleshooting-mysql-performance-step-zero-check-performance-problem-troubleshoot/ –

回答

0

thread_cache_size = 100#将从10减少线程创建/销毁抖动。 V8表示您应该将此数字设为100,以避免超载和可能的情况。

对于更详细的分析,请添加到OriginalPost如下:

RAM on the dedicated server 
SHOW GLOBAL STATUS; 
SHOW GLOBAL VARIABLES; 
SHOW ENGINE INNODB STATUS; 

长达五个具体的配置建议将应用于每天一个。