位置: 编程技术 - 正文

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安装)

  • 资产负债表其他应付款包括哪些
  • 一般纳税人进项销项抵扣如何做账
  • 减免增值税计入其他收益
  • 建筑安装增值税税负率行业标准
  • 境内公司没有收购的股票
  • 自己可以缴纳社保吗
  • 企业没有进项发票又开出很多发票
  • 报销业务招待费用主题
  • 供应销用商品给的返利怎么做?
  • 企业缴纳社保费一个月多少钱
  • 发票抵税是指哪些内容
  • 分包挂靠认定依据
  • 电子产品发票税是多少
  • 制作费算什么费用
  • 固定资产预计净残值怎么做账
  • 保安服务费可以开具专票吗
  • 固定资产转固流程图
  • 工程中材料超耗怎么处理
  • 合伙企业累进税率
  • 无票收入可以存钱吗
  • 借主营业务成本贷应付账款
  • 递延资产摊销计算公式
  • 预付办公用品费用,未收到发票
  • 销售收入的暂估入账
  • 长期股权投资转出账务处理
  • sentstrt.exe - sentstrt进程是什么文件 有什么用
  • 计算应缴房产税的公式
  • wordpress 中文版和国际版区别
  • 企业所得税具体纳税筹划案例
  • php执行linux命令无效
  • php批量删除文件
  • 股份有限公司都是私企吗
  • 前端好看的颜色
  • 哪些农产品属于免税
  • spring5和6差别大吗
  • 企业支付给其他单位劳务费时需要代扣代缴个税吗
  • 新公司建账会计科目
  • 小规模纳税人季度不超30万怎么做账
  • 帝国cms怎么用
  • 非货币交易分录
  • sql注入的原理和步骤
  • 调账的基本方法及要点都有哪些?
  • 预付账款如何结账
  • 印花税账务处理
  • 公司美元账户收款方便吗
  • 采购库存商品的分录
  • 预缴的税款抵扣有时间限制吗
  • 有奖销售增值税处理
  • 资产负债表怎么看财务状况
  • 成本会计难做吗没做过
  • 营业收入的核算内容包括
  • win7历史记录在哪里
  • windows字幕软件
  • ubuntu20.04升级20.10
  • WIN10系统中软件打开找不到网络共享盘
  • Win8系统网络SSID怎么设置?Win8设置网络SSID的方法
  • centos7.5安装桌面
  • win7系统安装ie11浏览器
  • 如何在linux中安装软件
  • 为什么我无法更改某些设置电脑
  • cocos creator源码
  • CCMoveBy与CCMoveTo
  • css网页布局在线生成
  • unity mobile3d
  • jquery 插件写法
  • node.js中fs模块
  • 用jquery制作网页
  • linux实现shell代码
  • unity每帧调用
  • jquery使用教程
  • python爬虫模拟浏览器
  • jquery.load()方法,刷新网页
  • json遍历对象集合
  • jquery获取当前元素是第几个元素
  • 广东高速费用支付宝支付如何开发票
  • 发票单位可以开一批吗?
  • 保险理赔款如何分配
  • 如何办理股权转让信息登记表
  • 如何打印个税缴纳记录
  • 个人所得税税前扣除是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设