首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
如果PHP使用短连接请求MySQL,每次都要三次握手吗?有什么性能问题?
📅 2026/10/20 9:22:17
✍️ 爱科研究院
👁 阅读 3,247
PHP短连接访问MySQL每一次PHP发起连接MySQL都要完整走一遍TCP三次握手查询完毕执行四次挥手关闭TCP连接。短连接流程PHP进程 → 三次握手建立TCP通道 → MySQL账号密码认证 → 执行SQL → 拿到结果 → 关闭连接四次挥手销毁TCP通道1. 是不是每次SQL查询都三次握手是的。短连接的定义就是用完就拆TCP管道。哪怕你PHP脚本里连续执行2条SELECT只要是两次new PDO新建连接就会两次握手、两次挥手。补充同一个PDO实例同一次请求内多次执行SQL不会反复握手复用当前TCP连接脚本执行结束PHP-FPM销毁这个连接。PHP-FPM短连接经典场景每来一个Web请求新建MySQL连接请求结束连接关闭。2. 有哪些性能问题① 每次多一轮RTT网络耗时握手开销三次握手需要1.5个往返RTT。如果MySQL不在本机跨服务器访问RTT如果是10ms光是握手就要额外花十几毫秒。频繁请求场景下大量时间不是耗在SQL执行而是反复建连、断连。用快递类比每查一次数据库都要重新搭建一次快递通道查完直接拆掉。频繁查询就不停建通道、拆通道大量时间浪费在路上。② TCP断开带来大量TIME_WAIT状态高频坑连接关闭时主动关闭一方这里一般是PHP客户端会进入TIME_WAIT要等待2MSL时间才释放端口。高并发业务大量短连接快速创建销毁会瞬间堆积大量TIME_WAIT套接字。耗尽客户端可用端口内核维护大量连接记录占用CPU和内存严重时PHP无法新建MySQL连接报Cannot connect to MySQL③ MySQL服务端连接创建开销MySQL收到新连接要做账号密码校验、权限加载、初始化会话变量、事务上下文。新建MySQL连接本身有CPU开销大量瞬间涌入的短连接MySQL要不停创建、销毁会话CPU压力上涨。MySQL有最大连接数max_connections大量并发短连接瞬间打满这个上限直接拒绝新连接。④ PHP侧资源反复创建销毁每次新建PDO对象内核要分配文件描述符关闭就释放。频繁创建销毁带来系统调用开销。3. 解决方案PHP开发常用连接池推荐Swoole/Hyperf提前建立一批TCP长连接连接复用不再每次查询握手。连接池把建好的TCP通道缓存起来脚本用完不关闭交给下一个请求复用。PHP-FPM持久连接 pdo_persistentPHP-FPM进程保留MySQL长连接进程不销毁连接保留。注意持久连接有坑容易残留事务、锁、会话变量污染后续请求。本机MySQLlocalhost用unix socket不走TCP协议不需要三次握手直接内核通道消除TCP握手开销。缺点不能跨机器访问。4. 一句话总结PHP短连接访问MySQL每次新建连接必然执行TCP三次握手并发高的时候反复建连断连会带来网络延迟、大量TIME_WAIT、MySQL连接数打满、额外CPU开销。连接池就是用来解决这个痛点。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/20 9:22:17
AI Agent 从原理到实践:手把手带你实现一个最小可用智能体
2026/10/20 9:17:12
抽样调查课后题全攻略:五种设计公式、陷阱与R/Python验证
2026/10/20 9:17:12
UVM组件家族全解析:从组件树到核心角色职责
2026/10/20 10:58:35
STM32F407+ESP8266 WiFi-UART透传:从AT指令到PWM电机控制全解析
2026/10/20 10:58:35
Muse Gadgets 开源框架实战:从零搭建 AI 外设原型
2026/10/20 10:58:35
企业AI Agent定制:单条数据出错为何拖垮整批任务?
2026/10/20 10:58:35
笔记 1:思小伴 搭载 EEG 脑电专注力监测的多功能儿童陪伴桌宠
2026/10/20 10:58:34
从会做题到会设计:数字电路实战能力跃迁指南
2026/10/20 10:53:34
OpenProject 上手指南:免费开源自托管项目管理
2026/10/20 1:05:26
WSL下STM32开发板烧录指南:USB透传与OpenOCD实操
2026/10/20 1:05:26
ROS2工业级开发:实时性、资源适配与可交付验证体系
2026/10/20 1:05:26
STM32+华为云IoT+Qt构建智能家居远程控制系统全解析
2026/10/19 14:00:16
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/20 7:57:25
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/19 15:41:50
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/20 2:24:03
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/20 2:23:57
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/20 2:23:53
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)