位置: 编程技术 - 正文

MySQL thread_stack连接线程的优化

发布时间:2024-02-26

推荐整理分享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安装)

  • 什么是资本利得?
  • 证券交易计税依据
  • 文化建设费退税会计分录怎么做
  • 财务报告与财务报表的联系与区别
  • 大巴车怎么进行营运
  • 小规模电子发票一张可以开多少金额
  • 车间加班视频
  • 违约金并用
  • 个税计提和发放分录
  • 代扣代缴车船税手续费比例
  • 管理费用现金流量表中属于
  • 财务收入支出明细表模板
  • 固定资产报废残料收入的账务处理
  • 出口退税退的是进项税还是销项税
  • 技术转让所得一百万交多少税
  • 备用金 退款
  • 专用发票抵扣联丢失怎么办最新规定
  • 收到支票怎么处理
  • 融资租赁和融资性售后回租的区别
  • 居民供暖税率
  • 分支机构注销留抵税额可以税前扣除吗?
  • 在Win7系统中,文件的属性包括
  • 无票收入后又开红字发票
  • win11透明任务栏怎么设置
  • deepin怎么使用
  • window10最新20h2
  • 资不抵债从资产负债表上怎么看出来
  • 房租收入怎么做会计分录
  • 水利工程水费怎样计算
  • 贷款减值损失计提还能转回吗
  • php基础理论知识
  • 员工报销电话费缴纳个税
  • layuiadmin动态菜单
  • 差额征税专用发票税额怎么算
  • mlp是啥啊
  • torchaudio教程
  • 怎么做一个简单的机器
  • rcnn系列详解
  • wget下载yum
  • 购买车辆的进项税怎么抵扣
  • 未签订劳动合同辞退赔偿金怎么算
  • 企业做账会计分录流程
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • 苹果mac安装
  • 购买商品或服务的人称为
  • sql2008收缩日志文件
  • 预提费用在资产负债表中如何列示
  • 永久性差异有哪些项目
  • 股东分红申报个税怎么填
  • 冲减当期利润
  • 现金日记账年结怎么做
  • 商标的使用权
  • 红字发票最多几个月
  • 委托方和受委托方的法律关系
  • 普通发票的金额
  • 企业开办费计入什么科目
  • mysql索引基础
  • centos6.10安装教程详解
  • 彻底禁止win11自动更新
  • win7怎么进行系统还原
  • hppusg.exe
  • win7旗舰版显示不全屏
  • win8.1无线
  • linux系统中可用于添加用户账号
  • 调出下拉菜单
  • 安卓handler使用
  • dos 改名
  • 快速使用流量
  • node的理解
  • shell脚本监听端口
  • unity3d功能
  • 广西地税局局长
  • 东莞市国家税务局网上办税大厅
  • 中国海关化妆品关税
  • 消防咨询电话24小时
  • 广东税务社保缴费查询
  • 什么是增值税留抵退税
  • 四川国税总局官网
  • 怎么查国税
  • 税务实名认证如何操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号