位置: 编程技术 - 正文

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

  • 丢失增值税专用发票最新规定
  • 基础电信服务税率和增值电信服务税率
  • 暴利税怎么计算
  • 中山哪家企业招聘残疾人
  • 银联撤销交易步骤
  • 个人所得税减除费用6万元什么意思
  • 异地预缴税款怎么抵扣
  • 高铁票抵扣进项税
  • 坏账准备的账务处理怎么理解
  • 工程预付款是否监管
  • 宣传费税前扣除标准
  • 服务类收入
  • 开办生产建设项目
  • 增值税发票处理流程
  • 租赁合同印花税税率2023
  • 一般纳税人的增值税应纳税额等于
  • 医院开发票需要税号吗
  • 营改增的重点是什么
  • 所得税调增调减项目
  • 现金流量表编制依据和方法
  • 收到捐赠的固定资产需要折旧吗
  • 零申报工会经费滞纳金怎么算
  • 帮别的公司代销产品,对方公司不开具发票怎么做帐
  • 股份公司注销流程及费用
  • 苹果手机无法加入WiFi
  • php实现的三个常数是什么
  • 开机自动连接宽带怎么设置w11
  • php bcmul
  • 会计分录的基本构成要素
  • 没有抵扣联可以作废吗
  • uniapp怎么开启路由拦截
  • 马拉喀什的历史背景
  • 已经认证抵扣的发票怎么做账
  • 手把手教你实现用户登录界
  • 递延收益会计科目核算什么内容
  • 劳动仲裁支付的赔偿金怎么入账
  • 公司处理固定资产汽车的账务处理
  • 单位向职工出租房子
  • 工伤医疗费必须要交吗
  • 一般纳税人按简易办法计税销售额
  • 营改增之后发票的变化
  • 进项转出转到哪里去
  • 子公司提的盈余公积合并时如何抵消
  • 社保刚转回来,生孩子能报销吗
  • 拆迁补偿怎么算的
  • 资产负债表的资产按流动性大小排列
  • 公司做的形象墙效果图
  • 个人所得税如果不补税会怎么样
  • 人们对餐饮业的要求
  • 个人微信转账可以给对方开发票吗
  • 工会经费的列支范围有哪些
  • 取暖费用摊销吗
  • 一次性开票分期确认收入已什么做原始凭证
  • sql中的存储过程
  • mysql 5.7.33安装
  • win8的应用商店
  • xp系统和2003系统的异同
  • hppusg.exe
  • XP下HTTP的403.9错误-禁止访问:连接的用户过多 重启iis可以解决
  • windows无法访问\\192.168.1.104
  • win8怎么设置
  • win7睡眠唤醒设置密码
  • win10系统锁屏广告怎么取消
  • jquery邮箱正则表达式
  • android基于什么语言
  • margin-left auto
  • 创建nodejs项目的步骤
  • css主要解决什么问题
  • python的pip安装命令
  • jquery.min.js源代码
  • shell脚本switch
  • 合并一个文件夹下多个工作簿
  • 常用dos命令详解
  • 详解九章算法
  • javascript高级程序设计pdf下载
  • javascript要怎么学
  • javascript面向对象 第三方类库
  • 下岗职工再就业优惠政策
  • 江苏预包装食品备案网上流程
  • 房屋维修税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设