位置: 编程技术 - 正文

MySQL thread_stack连接线程的优化

编辑:rootadmin

推荐整理分享MySQL thread_stack连接线程的优化,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL连接不仅能通过网络方式,还可以通过命名管道的方式,不论是哪种方式连接MySQL,在MySQL中都是通过线程的方式管理所有客户端请求的。每一个客户端连接都会有一个与之对应的连接线程。在MySQL中实现了一个Thread Cache池,将空闲的连接线程存放其中,而不是完成请求后就销毁。这样,当有新的连接请求时,MySQL首先会检查Thread Cache中是否存在空闲连接线程,如果存在则取出来直接使用,如果没有空闲连接线程,才创建新的连接线程。具体参数:Thread_cache_size:Thread Cache池中应该存放的连接线程数。Thread_stack:每个连接线程被创建时,MySQL给它分配的内存大小。当MySQL创建一个新的连接线程时,需要给它分配一定大小的内存堆栈空间,以便存放客户端的请求的Query及自身的各种状态和处理信息。查看连接线程相关的系统变量的设置值: show variables like 'thread%';

mysql> show variables like 'thread%';+-------------------+--------+| Variable_name | Value |+-------------------+--------+| thread_cache_size | || thread_stack | |+-------------------+--------+2 rows in set (0. sec)

如图,系统设置了Thread Cache池最多将缓存个连接线程,每个连接线程创建之初,系统分配KB的内存堆栈给它。查看系统被连接的次数及当前系统中连接线程的状态值

mysql> show status like 'connections';+---------------+-------+| Variable_name | Value |+---------------+-------+| Connections | |+---------------+-------+1 row in set (0. sec)

mysql> show status like '%thread%';+------------------------+-------+| Variable_name | Value |+------------------------+-------+| Delayed_insert_threads | 0 || Slow_launch_threads | 0 || Threads_cached | 3 || Threads_connected | 4 || Threads_created | 7 || Threads_running | 1 |+------------------------+-------+6 rows in set (0. sec)

系统启动到现在共接受到客户端的连接次,共创建了7个连接线程,当前有1个连接线程处于和客户端连接的状态,而3个连接状态的线程中只有一个处于 active 状态,即只有一个正在处理客户端提交的请求,。而在Thread Cache池中共缓存了3个连接线程。Thread Cache 命中率:Thread_Cache_Hit = (Connections - Threads_created) / Connections * %;一般在系统稳定运行一段时间后,Thread Cache命中率应该保持在%左右才算正常。

实际应用:

针对G/G的机器,一般设置 K

当然如果遇到下面的错误提示就应该考虑增加这个值了。

mysql-debug: Thread stack overrun

MySQL thread_stack连接线程的优化

bug info

报错信息:java.sql.SQLException: Thread stack overrun: bytes used of a byte stack, and bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.

官方相应信息:

The default (KB) is large enough for normal operation. If the thread stack size is too small, it limits the complexity of the SQL statements that the server can handle, the recursion depth of stored procedures, and other memory-consuming actions

可以使用

show variables where `variable_name` = 'thread_stack';

查询当前数据库的默认线程栈的大小,一般情况下都能正常使用,但是当查询语句或者存储过程复杂时会报Thread stack overrun错误,此时只要修改默认配置就可以。

解决

windows: 修改mysql安装目录下的my-small.ini或者my.ini设置为k,或者更大,然后重启服务

[mysqld] thread_stack = klinux: 同样要修改配置文件,但是!!!,不是安装目录下的配置文件,是/etc/my.cnf,只有这个文件才能生效,然后重启服务service mysql restart

[mysqld] thread_stack = k

CentOS下RPM方式安装MySQL5.6教程 之前的项目全都在windows系统环境下部署的,这次尝试在Linux系统环境下部署,于是这次我们组织在7台主机上安装了JDK、Maven、Jboss其中一台安装了Mysql,

DROP TABLE在不同数据库中的写法整理 DROPTABLE在不同数据库中的写法整理1,MySql中DROPTABLEIFEXISTS[table_name]2,Oracle中:BEGINEXECUTEIMMEDIATE'DROPTABLE[table_name]';EXCEPTIONWHENOTHERSTHENNULL;END;3,在SqlServer中IFEX

MySql服务未知原因消失解决方法 MySql服务未知原因消失解决方法刚才突然MySQL-Front打开不了MySql,果不其然发现是MySql的服务不见了。想起可能是昨晚安装了PhpStudy的点了不要MySql的选项

标签: MySQL thread_stack连接线程的优化

本文链接地址:https://www.jiuchutong.com/biancheng/349696.html 转载请保留说明!

上一篇:MYSQL 解锁与锁表介绍(mysql锁表的sql)

下一篇:CentOS下RPM方式安装MySQL5.6教程(centosrpm安装)

  • 收到以前年度退回的所得税
  • 哪些收据可以入帐
  • 减资需要交个税吗
  • 交易性金融资产是什么意思
  • 股权激励费用怎么摊销
  • 劳务报酬和工资薪金哪个税率高
  • 企业所得税不预缴年终汇算可以吗
  • 公司公积金缴纳比例一般来说是多少?
  • 未填开发票怎么作废
  • 印花税票吧
  • 加计抵减其他收益汇算清缴填哪里
  • 权益性投资收益的账务处理
  • 购买的员工福利需要缴纳印花税
  • 应交增值税为什么是销项减进项
  • 向银行借款一年是长期还是短期
  • 注册公司买车划算吗
  • 平台服务费如何开票
  • 不动产抵扣涉及净值,这里的净值是否扣除减值准备,是否扣除不动产改变用途当月的折旧额?
  • 现金流量表附表的其他指的是什么
  • 普通发票个人所得税隔审了怎么弄
  • 企业支付宝对公打款
  • 固定资产清理账户结构
  • 政府高薪补贴
  • 制作费用怎么转入成本
  • 简易征收发票能抵扣吗
  • 企业收到贷款贴息会计分录
  • 好听的开机音效
  • windows7怎样升级windows10
  • 招财树的养殖方法
  • 电梯安装包工头赚多少
  • 付的押金冲抵部分怎么算
  • php执行脚本
  • coco2017数据集介绍
  • 劳务派遣企业简易征收管理办法
  • LangChain与大型语言模型(LLMs)应用基础教程:信息抽取
  • 定时器计数器实验报告
  • 匈牙利算法的实现原理
  • uncompressing
  • 总公司中标后走账怎么办
  • java强制类型转换有哪些
  • 跨国公司海外子公司
  • c语言f lf
  • mysql怎么恢复数据
  • 确认应付职工薪酬怎么算
  • 从物资公司购入原木的进项税额
  • 公司基本户里的钱有利息吗
  • 修理费用的会计怎么做账
  • 服务业小规模纳税人全套做账
  • 收到进项税发票
  • 所税税汇算补交怎么算
  • 电子承兑汇票是24小时签收吗
  • 应交税费借方如何计算
  • 海运发票可以抵扣增值税吗
  • 体检费可以开个人吗?
  • 应付票据在资产负债表怎么填列
  • 存出投资款会计处理
  • 收到投资厂房有折旧的记账凭证怎么处理
  • 正确使用显微镜的七个步骤
  • sql根据名字查询
  • linux那些事儿
  • window10怎么启用net 3.5
  • linux常用的几种压缩工具
  • ubuntu安装chia
  • linux服务器常用命令
  • Mac借助其他电脑做系统
  • macbookair电脑屏幕
  • pavmail.exe - pavmail进程是什么文件 有什么用
  • linux的ssr
  • 电脑安装win8
  • 30岁亿万富婆
  • JavaScript的setter与getter方法
  • js面向对象的几种方式
  • Node.js生成HttpStatusCode辅助类发布到npm
  • unity调色插件
  • javascript基础教程教材答案
  • 南京税务局是地市级还是副省级
  • 通用申报表水利基金怎么填
  • 2020宜兴市民中心营业时间
  • 山西税务官网登录
  • 从批准文号怎么区分国产还是进口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设