lag_reports - 网络延迟报告记录
基于 AzerothCore Characters 数据库 · 玩家网络延迟自动报告记录表
📋 表概述
lag_reports 表记录玩家客户端自动上报的网络延迟报告。当玩家遇到高延迟/卡顿时,客户端可能自动提交延迟报告,包含延迟类型、玩家位置和延迟数值等信息,帮助管理员定位网络问题。
- 延迟自动上报
- 延迟类型分类
- 位置坐标记录
- 网络问题诊断
主键为 reportId(自增)。每条记录包含延迟的具体数值(latency)、发生位置(mapId/posX/Y/Z)和发生时间,属于 Player System 模块。
📊 表结构
| 字段名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| reportId | int UNSIGNED | AUTO_INCREMENT | 报告ID(主键,自增) |
| guid | int UNSIGNED | 0 | 报告角色GUID |
| lagType | tinyint UNSIGNED | 0 | 延迟类型码 |
| mapId | smallint UNSIGNED | 0 | 延迟发生的地图ID |
| posX | float | 0 | 延迟发生时X坐标 |
| posY | float | 0 | 延迟发生时Y坐标 |
| posZ | float | 0 | 延迟发生时Z坐标 |
| latency | int UNSIGNED | 0 | 延迟值(毫秒) |
| createTime | int UNSIGNED | 0 | 报告创建时间(Unix时间戳) |
🔍 重要字段详解
📡 lagType - 延迟类型
详细说明:TINYINT类型,区分不同的延迟场景。
- 0 = 世界延迟(游戏响应慢)
- 1 = 技能延迟(技能释放延迟)
- 2 = 移动延迟(移动卡顿/卡地形)
⏱️ latency - 延迟数值
详细说明:INT UNSIGNED类型,实际测量的延迟毫秒数。
- 正常值:< 200ms
- 偏高:200~500ms
- 严重:> 500ms
- 极高的延迟值可能表示网络故障或服务器负载过高
📍 位置坐标
详细说明:记录延迟发生时玩家所在地图和精确坐标。
- 帮助定位是否有特定区域/地图的高延迟问题
- 可能与特定副本/场景的性能瓶颈有关
- FLOAT精度记录三维坐标
💡 SQL示例
示例1:查询高延迟报告(>500ms)
SELECT
reportId, guid, lagType, mapId,
latency, FROM_UNIXTIME(createTime) AS report_time
FROM lag_reports
WHERE latency > 500
ORDER BY latency DESC
LIMIT 50;示例2:统计各地区的平均延迟
SELECT
mapId,
AVG(latency) AS avg_latency,
MAX(latency) AS max_latency,
COUNT(*) AS report_count
FROM lag_reports
GROUP BY mapId
ORDER BY avg_latency DESC;❓ 常见问题
Q1: 玩家手动提交延迟报告吗?
否。这是客户端自动检测并上报的,玩家无需手动操作。当检测到高延迟时自动记录到此表。
Q2: 此表数据量大怎么办?
建议定期清理:
DELETE FROM lag_reports WHERE createTime < UNIX_TIMESTAMP() - 2592000;(清理30天前的报告)。