位置: 编程技术 - 正文

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

  • 促成自然灾害的原因
  • 土地摊销全部计入成本吗
  • 用房子贷款印花税怎么交
  • 公益性捐赠的税收优惠政策
  • 工会经费计税基数包含支付职工的辞退福利
  • 收到转账支票怎么去银行处理
  • 商贸公司购进农产品可以抵扣吗
  • 税务房屋租赁发票图片
  • 大额虚开发票做转出税款入什么会计科目?
  • 企业贷款核销条件
  • 暂估出库是什么意思
  • 合伙企业工资薪金申报
  • 公司发实物要交税吗
  • 以前年度损益调整结转到哪里
  • 当期应税销售收入是含税还是不含税
  • 异常增值税扣税凭证
  • 小规模减免附加税会计分录怎么做
  • 以前年度损益调整贷方余额表示什么
  • 收到政府补贴要交增值税吗
  • 发票遗失登报费用账务处理
  • 企业向个人赠送礼品
  • 技术服务收入和产品服务收入举个例子
  • 当月有进项税额转出怎么结转未交增值税
  • 购买承兑汇票怎么做账
  • 股权转让受让方要交个人所得税吗
  • PHP:apache_setenv()的用法_Apache函数
  • 房产契税什么时间缴纳
  • 金枝玉叶怎么养才爆盆
  • 有没有不需要网络的摄像头
  • 固定资产加速折旧方法
  • 贷款滞纳金如何收取
  • cvpr2020结果
  • codewriter怎么运行
  • 自建办公楼装修要报建吗
  • php日期差
  • audit install success
  • 注意!PHP 7中不要做的10件事
  • java开发从入门到精通
  • python提供的3个基本数字类型
  • wordpress!
  • 帝国cms灵动标签怎么调用
  • python rem
  • 累计盈余下设明细科目吗
  • 实行自行申报的项目有哪些
  • 厂部管理人员的工资属于制造费用吗
  • 免税收入是否可抵扣
  • 销售折扣的账务处理有详细的计算过程
  • 收到的发票未抵税怎么办
  • 补充协议有用吗
  • 公司转给其他公司的投资款
  • 购买材料时如果没有取得购买材料的发票
  • 股权投资如何记账
  • 免征增值税还要计提附加税吗
  • 发生额大额标准怎么确定
  • 购进农产品直接销售核定扣除
  • 会计做账过程中遇到的问题
  • sql以级联的方式删除表
  • 用Autoconf检测MySQL软件包的教程
  • 删除mysql数据库命令
  • sqlserver数据备份恢复
  • freebsd命令大全
  • win10无人值守文件使用方法
  • windows 批处理
  • ubuntu pdf编辑器
  • win8开机画面后黑屏
  • win10系统edge浏览器兼容性
  • win7系统桌面快捷键
  • giantantispywaremain.exe是什么进程 有什么作用 giantantispywaremain进程查询
  • ie10变成ie8
  • windows7开机启动
  • 开发环境配置是干嘛
  • bootstrap基础
  • js原始值有哪些
  • unity3d操作
  • 预拍摄功能相机
  • scroll-view组件用于实现
  • 安徽省低保查询入口官网
  • 安康市税务局党玲玲
  • 股东向公司借款需要什么手续
  • 固定资产原值包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设