mysql数据库的线程连接数、状态 、最大并发数、缓存等参数配置

news2025/7/17 3:19:26

mysql数据库的线程连接数、状态 、最大并发数、缓存等参数配置

https://www.modb.pro/db/1784385883449397248

mysql数据库的线程连接数、状态 、最大并发数、缓存等参数配置
SQL命令行临时设置操作

#查看mysql数据库的线程连接数:

mysql> show global status like ‘Thread%’;

参数解释:

Threads_connected表示当前连接数。

Threads_running是代表当前并发数。

Threads_created表示创建过的线程数。

Threads_cached :代表当前此时此刻线程缓存中有多少空闲线程。

Tips:

如果我们在MySQL服务器配置文件中设置了thread_cache_size,当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁(前提是缓存数未达上限)。

如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,查询服务器。

#数据库线程池缓存大小查询
mysql> show variables like ‘thread_cache_size’;
#数据库线程池缓存大小设置
mysql> set global thread_cache_size=64;
#查看全局wait_timeout值
mysql> show global variables like ‘wait_timeout’;
#修改全局wait_timeout值
mysql> set global wait_timeout=28800;
#查看最大连接数
mysql> show variables like ‘%connect%’;

最大连接数max_connections这个参数的大小要综合很多因素来考虑。

比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别 是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。

一般Linux系统支持到几百并发是没有任何问题的。可以在global或 session范围内修改这个参数:

#重新设置最大连接数:
mysql> set global max_connections=151;
#查询数据库服务器响应的最大连接数:
mysql> show global status like ‘Max_used_connections’;
对于mysql服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。

如:Max_used_connections / max_connections * 100% = 2/100 *100% ≈ 2%

可以看到占比远低于10%

Tips:连接数的增加会带来很多连锁反应,需要在实际中避免由此产生的负面影响。

命令查看对应的配置参数:
show status like ‘%下面变量%’;
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。

Tips:

#查看可同时打开的表的数量和要使用的文件描述符
mysql> show variables like ‘table_open%’;
table_open_cache(所有mysql线程一共可以打开的表个数)、max_tmp_tables和open_files_limit.
因为MySQL是多线程的系统,几个不同 的并发连接可能打开同一个表,这就需要为不同的连接session分配独立的内存空间来存储这些信息以避免冲突。

因此连接数的增加会导致MySQL需要的 文件描述符数目的增加。

对于MyISAM表,还会建立一个共享的索引文件描述符。

mysql> show status like ‘open%’;
| Variable_name | Value |
| Open_files | 3 |
| Open_streams | 2 |
| Open_table_definitions | 8 |
| Open_tables() | 10 |当前打开表的数目可通过flush tables命令,关闭,这个值如果过大,并且如果没有经常的执行,可以考虑增加table_open_cache参数的大小。
| Opened_files | 91768 |
| Opened_table_definitions | 0 |
| Opened_tables | 0 |历史累计值
±---------------±------+
#单个客户端连接能打开的临时表数
mysql> show variables like ‘max_tmp%’;
| Variable_name | Value |
| max_tmp_tables | 32 |
mysql> show global status like ‘%tmp%table%’;
±------------------------±------+
| Variable_name | Value |
| Created_tmp_disk_tables | 10478 |
| Created_tmp_tables | 25860 |

也可以对比这两个值来判断临时表的创建位置,一般选取BLOB和TEXT列、Group by 和 Distinct语句的数据量超过512 bytes,
或者union的时候select某列的数据超过512 bytes的时候,就直接在磁盘上创建临时表了,另外内存中的临时表变大的时候,
也可能被MySQL自动转移到磁盘上(由tmp_table_size和 max_heap_table_size参数决定)。
增加table_open_cache或 max_tmp_tables 参数的大小后,从操作系统的角度看,mysqld进程需要使用的文件描述符的个数就要相应的增加,这个是由 open_files_limit参数控制的。
但是这个参数是OS限制的,所以我们设定的值并不一定总是生效。
如果OS限制MySQL不能修改这个值,那 么置为0。
如果是专用的MySQL服务器上,这个值一般要设置的尽量大,就是没有报Too many open files错误的最大值,这样就能一劳永逸了。
当操作系统无法分配足够的文件描述符的时候,mysqld进程会在错误日志里记录警告信息。
#查看打开的文件
mysql> show variables like ‘open_files%’;
±-----------------±------+|
Variable_name | Value
open_files_limit | 7048
|±-----------------±------+1
 mysql> show global status like ‘%open%file%’;
 ±----------------------±------+
 | Variable_name | Value |
 | Innodb_num_open_files | 60 |
 | Open_files | 17 |
 | Opened_files | 573 |
 ±----------------------±------+

#MySQL为每个连接分配线程来处理,查看当前分配的线程数量:

mysql> show status like ‘%thread%’;
±-----------------------------------------±------+
| Variable_name | Value |
±-----------------------------------------±------+
| Delayed_insert_threads | 0 |
| Performance_schema_thread_classes_lost | 0 |
| Performance_schema_thread_instances_lost | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 1 |
| Threads_connected | 2 |
| Threads_created | 3 |
| Threads_running | 1 |
±-----------------------------------------±------+

#查看每个thread的更详细的信息,可以使用processlist命令(需要有Process_priv权限):
mysql> show processlist;
±—±-----±----------------±---------±--------±-----±---------±-----------------+
| Id | User | Host | db | Command | Time | State | Info |
±—±-----±----------------±---------±--------±-----±---------±-----------------+
| 8 | root | localhost:59403 | activiti | Query | 0 | starting | show processlist |
| 9 | root | localhost:59404 | activiti | Sleep | 8838 | | NULL |
±—±-----±----------------±---------±--------±-----±---------±-----------------+

kill connection|query threadid的命令可以关闭线程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GitHub创建远程仓库

使用GitHub创建远程仓库:从零开始实现代码托管与协作 前言 在当今软件开发领域,版本控制系统已成为开发者必备的核心工具。作为分布式版本控制系统的代表,Git凭借其强大的分支管理和高效的协作能力,已成为行业标准。而GitHub作为…

【AI部署】腾讯云GPU -—SadTalker的AI数字人访问web服务—未来之窗超算中心

访问部署在Cloud Studio上的web服务 当你把该项目部署在本地时,访问该服务的请求地址为http://localhost:8080/hello;当你把该项目部署在Cloud Studio工作台启动时,要想访问到该服务,需要先在工作台右侧打开访问链接面板&#xff…

fastdds:传输层SHM和DATA-SHARING的区别

下图是fastdds官方的图,清晰地展示了dds支持的传输层: 根据通信双方的相对位置(跨机器、同机器跨进程、同进程)的不同选择合适的传输层,是通信中间件必须要考虑的事情。 跨机器:udp、tcp 跨机器通信,只能通过网络, f…

树莓派_利用Ubuntu搭建gitlab

树莓派_利用Ubuntu搭建gitlab 一、给树莓派3A搭建基本系统 1、下载系统镜像 https://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ 2、准备系统SD卡 二、给树莓派设备联网 1、串口后台登录 使用串口登录后台是最便捷的,因为前期网络可能不好直接成功 默…

ARINC818协议(三)

源特定参数 源特定参数被定义,用于在源和目的之间进行传输 源特定参数包括初始化,合适的解释,周期性的验证。 gamma or palette tables:伽马或者调色板 color format:颜色格式 Brightness and backlight control :亮度…

得佳胜哲讯科技 SAP项目启动会:胶带智造新起点 数字转型新征程

在全球制造业加速向数字化、智能化转型的浪潮中,胶带制造行业正迎来以“自动化生产、数据化运营、智能化决策”为核心的新变革。工业互联网、大数据分析与智能装备的深度融合,正推动胶带制造从传统生产模式向“柔性化生产精准质量控制全链路追溯”的智慧…

万字解析TCP

通过学习视频加博客的组合形式,整理了一些关于TCP协议的知识。 *图源:临界~的csdn博客。 一、TCP建立连接 TCP的建立连接,大致可以分为面向连接、TCP报文结构、TCP的三次握手、TCP的建立状态、SYN泛洪攻击。 1.1、面向连接 面向连接 --- …

2025年大数据实训室建设及大数据实训平台解决方案

一、引言 在数字化浪潮中,大数据技术已成为推动各行业创新发展的核心驱动力。从金融领域的风险预测到医疗行业的精准诊断,从电商平台的个性化推荐到交通系统的智能调度,大数据的应用无处不在。据权威机构预测,到 2025 年&#xf…

贪心、动态规划、其它算法基本原理和步骤

目录 1. 贪心1.1 贪心算法的基本步骤1.2 贪心算法实战1.2.1 贪心的经典问题1.2.2 贪心解决数组与子序列问题1.2.3 贪心解决区间调度问题1.2.4 贪心解决动态决策问题1.2.5 贪心解决一些复杂场景应用 2. 动态规划2.1 动态规划的基本步骤和一些优化2.2 动态规划实战2.2.1 斐波那契…

python-各种文件(txt,xls,csv,sql,二进制文件)读写操作、文件类型转换、数据分析代码讲解

1.文件txt读写标准用法 1.1写入文件 要读取文件,首先得使用 open() 函数打开文件。 file open(file_path, moder, encodingNone) file_path:文件的路径,可以是绝对路径或者相对路径。mode:文件打开模式,r 代表以…

ctfshow-大赛原题-web702

因为该题没有理解到位,导致看wp也一直出错,特此反思一下。 参考yu22x师傅的文章 :CTFSHOW大赛原题篇(web696-web710)_ctfshow 大赛原题-CSDN博客 首先拿到题目: // www.zip 下载源码 我们的思路就是包含一个css文件,…

Triton(2)——Triton源码接结构

1 triton 3.0.0 源码结构 triton docs/:项目文档 cmake/:构建配置相关 bin/:工具、脚本 CmakeLists.txt:cmake 配置文件 LSCENSE README.md Pyproject.toml:python 项目配置文件 utils/:项目配置文…

容器docker入门学习

这里写目录标题 容器容器的软件厂商 dockerdocker引擎 虚拟化虚拟化技术 docker安装详解1、安装检查2、安装yum相关的工具3、安装docker-ce软件4、查看docker版本5、启动docker服务6、设置docker开机启动7、查看有哪些docker容器运行进程8、查看容器里有哪些镜像9、下载nginx软…

HarmonyOS NEXT开发教程:全局悬浮窗

今天跟大家分享一下HarmonyOS开发中的悬浮窗。 对于悬浮窗,可能有的同学会想到使用层叠布局是否可以实现,将悬浮窗叠在导航栏组件Tabs上,像这样: Stack({alignContent:Alignment.BottomEnd}){Tabs({barPosition:BarPosition.End…

解锁元生代:ComfyUI工作流与云原生后端的深度融合

目录 蓝耘元生代:智算新势力崛起​ ComfyUI 工作流创建详解​ ComfyUI 初印象​ 蓝耘平台上搭建 ComfyUI 工作流​ 构建基础工作流实操​ 代码示例与原理剖析​ 云原生后端技术全景 云原生后端概念解析​ 核心技术深度解读​ 蓝耘元生代中两者的紧密联系​…

STM32 基本GPIO控制

目录 GPIO基础知识 ​编辑IO八种工作模式 固件库实现LED点灯 蜂鸣器 按键基础知识 ​编辑继电器 震动传感器 433M无线模块 GPIO基础知识 GPIO(General-Purpose input/output,通用输入/输出接口) 用于感知外部信号(输入模式)和控制外部设备&…

汽车免拆诊断案例 | 2019款大众途观L车鼓风机偶尔不工作

故障现象 一辆2019款大众途观L车,搭载DKV发动机和0DE双离合变速器,累计行驶里程约为8万km。车主进厂反映,鼓风机偶尔不工作。 故障诊断  接车后试车,鼓风机各挡位均工作正常。用故障检测仪检测,空调控制单元&#x…

FastAPI与SQLAlchemy数据库集成

title: FastAPI与SQLAlchemy数据库集成 date: 2025/04/17 15:33:34 updated: 2025/04/17 15:33:34 author: cmdragon excerpt: FastAPI与SQLAlchemy的集成通过创建虚拟环境、安装依赖、配置数据库连接、定义数据模型和实现路由来完成。核心模块包括数据库引擎、会话工厂和声…

免费将静态网站部署到服务器方法(仅支持HTML,CSS,JS)

原视频链接:把HTML免费部署到网站上,实现别人也能访问的教程来啦QAQ_哔哩哔哩_bilibili 注意:仅支持HTML、CSS、JS。不支持Vue等框架。 1.打开网站www.wordpress.org 点击红框按钮 点击红框按钮下载wordpress模板文件并解压。 将自己编写的…

51单片机实验一:点亮led灯

目录 一、实验环境与实验器材 二、实验内容及实验步骤 1.用keil 软件创建工程,C文件编写程序,编译生成hex文件​编辑 2.用STC烧写hex文件,点亮第一个LED灯 3.使用法2,点除第一个以外的LED灯 一、实验环境与实验器材 环境&am…