当前位置: 首页 > news >正文

54 mysql 中各种 timeout - connect/wait/interactive/read/write_timeout

前言

在 mysql 的服务器配置中, 我们经常会使用到几个 timeout

诸如 connect_timeout, wait_timeout, interactive_timeout, read_timeout, write_timeout 等等 

我们 这里来看一下 他们的具体的使用场景, 以及具体控制的相关信息 是什么

 

 

connect_timeout

这个是 客户端 和 服务器建立连接之后, 客户端需要向服务器发起认证请求 

如果在 connect_timeout 期限内, 客户端未发送认证请求, 服务器会断开 和 客户端的连接

a2c3d543349d522fae99892557bf2be7.png

 

客户端和服务器这边新建了连接之后, 需要登录, 登录的时候设置了 socket 的读写超时时间为 connect_timeout

d595db238e97b6ac03f258b9a2f5b0df.png 

登录之后, 如果是登录成功 

将 socket 的读写超时时间更新为 net_read_timeout, net_write_timeout

 

 

wait_timeout/interactive_timeout

这两个超时时间, 控制的是 一个连接 如果超过多久, 没有交互了, mysql 这边可以关闭这个连接了 

从描述上面看, 二者基本上是一样的, 从业务控制上面看, interactive_timeout 被转换为了 wait_timeout

f60be9149c4404125a197130c1f27f63.png

0847d3624d08795a74f38a9aabbdcac8.png 

这里是 登录校验 的时候, 将 interactive_timeout 转换为了 wait_timeout

eccb6ffa41bda723ed38c934da11cdfc.png 

 

这里是具体使用到的地方, “thd->get_protocol()->get_command” 是轮询 socket, 查看客户端是否有请求数据过来

因此 在轮询之前, 将 socket 的超时时间更新为了 wait_timeout

当前连接, 如果是超过了 wait_timeout 没有活跃, 则 超时, 然后 外层 handle_connection 的循环, 走 end_connection, close_connection 的相关流程 

bda6fc74b93a6956e35de85db9c439cd.png

 

 

read_timeout/write_timeout

这两个主要控制的就是 服务器这边从客户端读取数据, 和 服务器往客户端写出数据 的超时时间控制了

这两个系统变量 描述信息如下

22df479ecbf4f78d54bd372f5c979505.png

15ebae46af314ac3d71f5db8339af8a1.png 

read_timeout 的这边使用如下, 在处理客户端请求之前, 将 socket 的读取超时时间更新为 read_timeout

如果是 服务器这边读取客户端的请求数据, 超过了 read_timeout, 则超时 

ece1a7e1d9cf20d9b22167693d251d4a.png

 

write_timeout 的这边配置是在 登录连接之后, 将 socket 的写出超时时间更新为了 write_timeout

然后 后面的, 请求处理等等相关, 均是基于这个 write_timeout 的配置 

01603963fb27fa4cf26428d469882e76.png

 

 

read_timeout 的整体更新流程

这个是在 创建连接, 处理业务, 关闭连接 的几个阶段的 socket 读取超时 时间的更新的一个大致的情况

初始化的时候, 使用全局变量的 read_timeout 进行初始化 读取超时时间

eaf7e9d18eb96d51e9809bf273a6783e.png

 

然后是 登录的使用, 使用 connect_timeout 来更新 socket 的读取超时时间 

4b5a7c7bf7c7233a218f17ff9e34c445.png 

然后是 登录验证之后, 将 socket 的读取超时时间更新为了 read_timeout

987c98b739b024bdace453e0c0b5ad5a.png 

然后是 轮询客户端请求之前, 将 socket 的超时时间 更新为了 wait_timeout

0f2667e95101fad615e1595701daa549.png 

然后是处理客户端请求之前, 将 socket 的读取超时时间更新为了 read_timeout

bda9fa84d4e5cb34c806954f8a0bc72a.png 

之后是随着连接的 生命周期的业务处理, 在等待客户端请求信息之前将 socket 的读取超时时间更新为 wait_timeout, 在处理客户端的请求信息之前将 socket 的读取超时时间更新为 read_timeout

 

 

write_timeout 的整体更新流程 

这个是在 创建连接, 处理业务, 关闭连接 的几个阶段的 socket 写出超时 时间的更新的一个大致的情况

初始化的时候, 使用全局变量的 write_timeout 进行初始化 写出超时时间

1b4baccf319f03b1bac52b7fd603c3a6.png

 

然后是 登录的使用, 使用 connect_timeout 来更新 socket 的读取写出时间 

06d68a9d9ac36c384bdc9dc6d6dc9407.png 

然后是 登录验证之后, 将 socket 的读取超时时间更新为了 write_timeout

563640c5b1623d8db674942d1fa8a60d.png 

然后在之后连接的生命周期中, socket 的写出超时时间, 一直是 write_timeout

 

 

完 

 

 

 

相关文章:

54 mysql 中各种 timeout - connect/wait/interactive/read/write_timeout

前言 在 mysql 的服务器配置中, 我们经常会使用到几个 timeout 诸如 connect_timeout, wait_timeout, interactive_timeout, read_timeout, write_timeout 等等 我们 这里来看一下 他们的具体的使用场景, 以及具体控制的相关信息 是什么 connect_timeout 这个是 客户端 和…...

实战案例(5)防火墙通过跨三层MAC识别功能控制三层核心下面的终端

如果网关是在核心设备上面,还能用MAC地址进行控制吗? 办公区域的网段都在三层上面,防火墙还能基于MAC来控制吗? 采用正常配置模式的步骤与思路 (1)配置思路与上面一样 (2)与上面区…...

【智能流体力学】数值模拟中的稳态和瞬态

在流体力学和数值模拟中, 稳态 (Steady State)意味着流体的物理量(如速度、压力、温度等)不随时间变化。换句话说,在稳态模拟中,系统已经达到了平衡,任何位置上的流场特性都不再随时间发生变化。 其他教程参考:https://doc.cfd.direct/openfoam/user-guide-v12/index…...

Vue-Route4 ts

小满学习视频 Vue-Route 官网 项目的目录结构: 1. Vue-Router的使用 安装Vue-route pnpm add vue-router4创建router文件 /route/index.vue import { createRouter } from "vue-router"; import {createMemoryHistory,createWebHashHistory,create…...

sizeof和strlen的小知识

Hello~,欢迎大家来到我的博客进行学习! 目录 1.sizeof和strlen😺1.1 sizeof🥰 1.2 strlen😋1.3 sizeof和strlen的对比👻 1.sizeof和strlen😺 1.1 sizeof🥰 sizeof是一种单目操作符&#xff0c…...

Java项目: 基于SpringBoot+mybatis+maven宠物咖啡馆平台(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven宠物咖啡馆平台 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单…...

戴尔14代服务器配置IDRAC9远程配置说明

一、规划管理网段 规划管理网段,要求如下: 管理网段与业务网段不能使用同一网段;管理网段与业务网段不能直接互通;如有条件管理网与业务网使用不同设备接入。 二、配置服务器idrac 2.1、确认idrac口位置 2.2、开机进F2 2.3、 …...

如何让你家里的电脑连接公司的远程桌面

在远程工作日益普遍的今天,能够从家里的电脑连接到公司的远程桌面,不仅可以提高工作效率,还能确保工作的连续性和数据的安全性。本文将详细指导你如何设置并实现从家中电脑连接至公司远程桌面的过程,无论你是使用Windows还是Mac系…...

软件:分享8个常用视频剪辑免费软件,你都用过吗?

随着视频剪辑的需求增多,现在市面上都有很多好用的视频剪辑软件,有的收费有的免费,不同的视频剪辑软件有不同的特点和优势。本文整理了几个简单好用的电脑视频剪辑工具,供大家参考。 不同的剪辑技术对应了不同的视频剪辑软件&…...

TS 常用类型

我们经常说TypeScript是JavaScript的一个超级 TypeScript 常用类型 TypeScript 是 JS 的超集,TS 提供了 JS 的所有功能,并且额外的增加了:类型系统 所有的 JS 代码都是 TS 代码 JS 有类型(比如,number/string 等&…...

半导体芯闻--20240913

1、舜宇光学在2024年上半年业绩表现亮眼,营收和净利润同比大幅增长。公司资产规模维持较高水平,短期偿债能力强。研发投入持续增加,特别是在车载模组领域取得显著成绩,与多家主流平台方案厂商深度合作,巩固了其在车载模…...

C盘空间不足如何解决?解决C盘空间不足的7个方法

当计算机的C盘(通常作为系统盘)空间不足时,会严重影响系统的运行效率和稳定性。针对这一问题,以下7个解决方案,可以帮助我们有效释放C盘空间,提升系统性能。 1.磁盘清理 利用Windows内置的磁盘清理工具…...

比 GPT-4 便宜 187 倍的Mistral 7B (非广告)

Mistral 7B 是一种设计用来快速处理较长文本的人工智能模型。它采用了一些特别的技术来提高速度和效率,比如“分组查询注意力(grouped-query attention)”和“滑动窗口注意力(sliding-window attention)”。 这些技术…...

FFmpeg与OpenCV联合开发

本文讲述如何利用FFmpeg SDK与OpenCV 从RTSP流中获取图像(OpenCV MAT 对象格式)。 一,构造RTSP视频流 因为是在本机实验,所以我自己构造了一个RTSP流。如果你有现成的RTSP流也可以的。 实验用的源视频是黑神话悟空的《云宫讯音》…...

Docker 部署 Redis (图文并茂超详细)

部署 Redis ( Docker ) [Step 1] : 拉取 Redis 镜像, 推荐使用 7 的 Redis 版本 docker pull redis:7.0.12[Step 2] : 创建 Redis 相关目录 ➡️ 启动 Redis 容器 ➡️ 拷贝文件 ➡️ 授权文件夹 ➡️ 删除容器 # 创建 Redis 相关目录 mkdir -p /data/redis/{conf,data,log…...

Docker基础-Docker Compose使用

文章目录 一、什么是Docker Compose?常用命令 Docker Compose安装前提条件Linux 上的安装macOS 上的安装Windows 上的安装注意事项启动 Docker Compose 服务 Docker Compose使用Docker Compose 文件基本结构关键概念示例:更复杂的配置注意事项 参考文献 一、什么是…...

GPT撰写开题报告教程——课题确定及文献调研

撰写开题报告是一项复杂而重要的任务,需要涵盖从主题选择到文献综述、研究方法等多个环节。借助AI,如ChatGPT,可以显著提高这一过程的效率以及内容的质量。本文将详细探讨如何一步步利用ChatGPT撰写开题报告。 一、开题报告内容 一个清晰的…...

SprinBoot+Vue高校就业管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…...

【人工智能】Transformers之Pipeline(十八):文本生成(text-generation)

目录 一、引言 二、文本生成(text-generation) 2.1 概述 2.2 家谱树谱——encoder or decoder is a problem 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 ​​​​​​​ 2.3.3 pipeline返回参数 ​​​​​​​…...

判断当前用户登录时常是否超过两个小时

有一个签到功能需要用户登录时间超过两个小时才可以签到 1. 存储登录时间戳 login() { // 假设这是登录后的操作 const currentTime new Date().getTime(); // 获取当前时间戳 localStorage.setItem(loginTimestamp, currentTime.toString()); // 存储登录时间戳 // 其他…...

Node.js后端框架Hereetria:平衡灵活性与约定,构建现代化Web应用

1. 项目概述与核心价值 最近在折腾一个挺有意思的开源项目,叫“Hereetria”。这个名字听起来有点陌生,但如果你对构建现代化的、可扩展的Web应用后端架构感兴趣,那它绝对值得你花时间研究一下。简单来说,Hereetria是一个基于Node.…...

从理论到ONNX:手把手带你拆解pytorch_quantization量化YOLOv7的每一个Tensor变化

从理论到ONNX:手把手拆解YOLOv7量化中的Tensor演变 量化技术正在重塑计算机视觉模型的部署格局。当我们将YOLOv7这样的复杂检测模型从FP32压缩到INT8时,每一个卷积核、每一层激活值的细微变化都可能影响最终检测框的坐标精度。本文将以手术刀般的精确度&…...

别再头疼了!手把手教你用赫优讯NT151网关搞定FANUC机器人与西门子S7-1500 PLC通讯

工业现场通讯实战:FANUC机器人与西门子S7-1500 PLC跨协议高效对接指南 当FANUC机器人的EtherNet/IP网络需要与西门子S7-1500的PROFINET系统握手时,现场工程师往往会面临协议壁垒带来的调试噩梦。去年在某新能源汽车电池产线项目中,我们团队用…...

Linux系统操作痕迹清理:Shell脚本实现与安全运维实践

1. 项目概述与核心价值在Linux系统上进行日常运维、故障排查或者一些自动化任务时,我们执行的每一条命令、访问的每一个文件,甚至系统本身的运行状态,都会留下或多或少的“痕迹”。这些痕迹,对于系统审计和安全分析来说是宝贵的日…...

多视角卷积神经网络(MVCNN)如何用二维图像实现三维物体识别?

多视角卷积神经网络(MVCNN)如何用二维图像实现三维物体识别? 【免费下载链接】mvcnn_pytorch MVCNN on PyTorch 项目地址: https://gitcode.com/gh_mirrors/mv/mvcnn_pytorch 在计算机视觉领域,三维物体识别一直是一个具有…...

AI 写作进入长篇记忆时代,AI让小说创作更可控

AI 写小说最常被讨论的问题,是写得快不快、文笔好不好。但对于真正写长篇的作者来说,还有一个更重要的问题:AI 记不记得住。 一部网文写到几十章、几百章后,人物关系会越来越复杂,伏笔会越来越多,世界观设…...

新手也能玩转CTF内存取证:从Win7镜像到Volatility插件实战(附Gimp调图技巧)

新手也能玩转CTF内存取证:从Win7镜像到Volatility插件实战(附Gimp调图技巧) 当你第一次接触CTF比赛中的内存取证题目时,面对一个陌生的内存镜像文件和一堆专业工具,可能会感到无从下手。本文将带你从零开始&#xff0c…...

Claude Code出质量事故了?Anthropic发了一篇有诚意的复盘|AI新岗位FDE爆火

每天更新,带你读懂科技圈。 今日看点: Anthropic 正式回应 Claude Code 质量下降的社区讨论,披露三条幕后原因;FDE(Forward Deployed Engineer)正在成为 AI 公司争抢的新岗位;Figma 自研 Redis …...

GitHub中文界面极速解锁指南:5分钟告别英文困扰的终极方案

GitHub中文界面极速解锁指南:5分钟告别英文困扰的终极方案 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾经面对…...

口碑好的芯片老化座选哪家?

芯片测试和老化是确保产品质量的关键环节。选择一款性能稳定、可靠性高的芯片老化座对于企业来说至关重要。本文将对比分析几家知名品牌的芯片老化座,并推荐其中的佼佼者——鸿怡电子。1. 鸿怡电子:国产优质IC测试座领军者产品特点设计结构:鸿…...