MySQL thread_cache_size参数

本文详细介绍了在大项目中调整MySQL线程缓存大小的方法,包括如何确定合适的线程缓存值,以及如何通过查看MySQL状态变量来判断当前设置是否需要调整。建议将线程缓存大小调整到接近物理内存大小的数值,如1G内存设置为8,以此提升服务器性能。
发现 thread_cache_size 原来设置好小,这个默认值实质上也偏小,建议大的web项目,要调大这个值。

一、多大算合适 :
说实话我也不是很清楚,但是查阅了N多中文,英文资料,大部分:
1. SHOW STATUS LIKE  'threads%'; 
看以下几个值:
Variable_name Value
Threads_cached     0
Threads_connected   51
Threads_created     655068
Threads_running     48
可以不断刷新,如果 Threads_created 不断增大,那么当前值设置要改大,改到 Threads_connected 值左右,再结合物理内存 
1G  —> 8;
2G  —> 16; 
3G  —> 32; 
>3G  —> 64 
二个情况综合考虑一下值。

注译:
Threads_cached :代表当前此时此刻线程缓存中有多少空闲线程。
Threads_connected :代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。
Threads_created :代表从最近一次服务启动,已创建线程的数量。
Threads_running :代表当前激活的(非睡眠状态)线程数。并不是代表正在使用的线程数,有时候连接已建立,但是连接处于sleep状态,这里相对应的线程也是sleep状态。
二、如何修改
vi my.cnf 配置文件,[mysqld] 下 增加
thread_cache_size = 64 
别忘了需mysql 重启后才生效!
<think>好的,我需要帮助用户在MySQL中查看多个参数的值。根据用户提供的引用内容,尤其是引用[1]和引用[2],用户可能已经知道如何查询innodb_thread_concurrency,但需要扩展到其他参数。首先,我应该确认每个参数对应的查看方法。 用户提到的参数包括innodb_thread_concurrency、thread_pool_size、max_connections、thread_cache_size、innodb_read_io_threads、innodb_write_io_threads、query_cache_type、query_cache_size和innodb_buffer_pool_size。根据MySQL的惯例,这些参数大多数可以通过SHOW VARIABLES语句来查询。 引用[1]提到使用SHOW VARIABLES LIKE '参数名',这应该是标准方法。但需要注意,有些参数可能需要特定的权限才能查看,或者是否在特定版本中存在。例如,thread_pool_size可能只在某些MySQL分支(如Percona Server)中存在,或者需要插件支持。因此,可能需要提示用户注意版本差异。 接下来,我需要逐一列出每个参数的查询语句。例如,max_connections和thread_cache_size应该同样使用SHOW VARIABLES。对于InnoDB相关的参数如innodb_read_io_threads和innodb_write_io_threads,同样适用该方法。 另外,用户提供的引用[3]提到了innodb_buffer_pool_size,这也应该用同样的方式查询。引用[4]中的read_buffer_size的查看方式类似,所以其他参数可以类推。 需要提醒用户注意权限问题,执行这些命令可能需要SUPER权限。另外,有些参数可能是动态的,可以通过SET命令调整,但用户的问题只是查看,所以不需要涉及修改部分。 最后,生成相关问题,可能需要包括如何调整这些参数参数的作用、性能影响等,参考用户提供的示例中的问题结构。例如,询问如何优化这些参数或它们对数据库性能的影响。</think>在MySQL中查看系统参数值可通过`SHOW VARIABLES`指令实现。以下是具体操作步骤和对应参数的查询方法: ### 查看方法 1. **单个参数查询** 使用`SHOW VARIABLES LIKE '参数名'`格式,例如查看`innodb_thread_concurrency`: ```sql SHOW VARIABLES LIKE 'innodb_thread_concurrency'; -- 格式参考引用[1] ``` 2. **批量查询** 用正则表达式匹配多个参数: ```sql SHOW VARIABLES WHERE Variable_name IN ( 'innodb_thread_concurrency', 'thread_pool_size', 'max_connections', 'thread_cache_size', 'innodb_read_io_threads', 'innodb_write_io_threads', 'query_cache_type', 'query_cache_size', 'innodb_buffer_pool_size' ); ``` ### 参数说明 - **`innodb_thread_concurrency`**:控制InnoDB并发查询线程数,直接影响数据库查询阻塞风险[^2] - **`innodb_buffer_pool_size`**:决定InnoDB引擎缓存数据量大小,显著影响事务处理能力[^3] - **`query_cache_type`**:查询缓存开关,需配合`query_cache_size`设置生效 ### 注意事项 1. 执行需要`SUPER`权限 2. 部分参数(如`thread_pool_size`)仅在特定版本或分支(如Percona Server)有效 3. 参数值单位为字节,如`innodb_buffer_pool_size=134217728`表示128MB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值