You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python MySQL Connector远程数据库连接带宽消耗计算咨询

计算Python-MySQL短连接的单次流量及总流量

你的脚本每次运行都会新建MySQL连接、执行INSERT操作后断开连接,整个过程的流量由TCP连接开销、MySQL握手认证开销、SQL执行请求/响应开销、TCP断开开销四部分组成,不能仅以SQL语句的130字节作为参考。

单次操作的流量构成估算

  • TCP连接建立(三次握手):双向流量约240字节(3个数据包,每个包含IP+TCP头部共40字节,发送、接收各占120字节)
  • MySQL握手认证:
    • 服务器发送初始握手包:约50-80字节
    • 客户端发送认证包:约80-150字节(取决于用户名、密码长度,mysql_native_password认证包包含加密后的密码)
    • 服务器返回认证成功包:约20字节
      这部分双向流量合计约150-250字节
  • SQL执行交互:
    • 客户端发送COM_QUERY包:1字节命令码 + 2字节长度标识 + 130字节SQL = 133字节,加上TCP/IP头部,实际发送约173字节
    • 服务器返回OK结果包:约15字节,加上头部实际接收约55字节
      这部分双向流量合计约228字节
  • TCP连接断开(四次握手):双向流量约320字节(4个数据包,每个包头部40字节,发送、接收各占160字节)

单次总流量估算

将各部分相加,单次完整操作的双向总流量约在500-800字节之间(环境不同会有小幅波动,比如用户名密码更长时,认证包会更大)。

总流量计算

按14880次执行次数计算:

  • 最低估算:14880 × 500字节 = 7,440,000字节 ≈ 7.1MB
  • 最高估算:14880 × 800字节 = 11,904,000字节 ≈ 11.3MB

大幅减少流量的优化方案

当前脚本使用短连接(每次操作新建/断开连接),连接开销占总流量的比例很高。改成长连接(保持连接不关闭,每3分钟复用连接执行INSERT)可省去每次的TCP连接/断开、MySQL握手认证开销,单次操作流量会降到200-300字节,总流量仅2.9-4.4MB,能节省约60%的流量。

优化后的代码片段:

import mysql.connector
import time

# 初始化长连接
mydb = mysql.connector.connect(
    host="remote_IP",
    user="",
    password="",
    database="",
    auth_plugin='mysql_native_password',
    autocommit=True
)
mycursor = mydb.cursor()

# 循环执行14880次,每3分钟一次
for _ in range(14880):
    # 检测连接有效性,无效则重新连接
    if not mydb.is_connected():
        mydb.reconnect()
        mycursor = mydb.cursor()
    
    sql='INSERT INTO table (col1,col2,col3,col4) VALUES(123456789,123456789,"example text here....","example column here test test test")'
    mycursor.execute(sql)
    print(mycursor.rowcount)
    
    time.sleep(180)  # 3分钟间隔

# 最后关闭连接
mydb.close()

精确测量流量的方法

如果需要完全准确的数值,可通过抓包工具统计:

  1. 在客户端机器运行tcpdump命令,过滤目标MySQL服务器IP:
    tcpdump -i any host remote_IP -w mysql_traffic.pcap
    
  2. 运行一次脚本后停止tcpdump
  3. 用Wireshark打开mysql_traffic.pcap,统计整个会话的发送、接收字节数,两者之和即为单次操作的总流量

内容的提问来源于stack exchange,提问作者wuqn yqow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:15:47