v2.8.0 清空历史真正物理删除 + 请求超时可配修复慢接口被掐断
1. 清空历史=真正清空(不再只是删行留痕): - 清空前先停止所有运行中测试线程,避免其继续写入孤儿数据 - DELETE 后重置自增序列(sqlite_sequence),新测试 ID 从 1 开始 - WAL checkpoint(TRUNCATE) + VACUUM 物理回收文件空间,数据不可恢复 - 单条删除删光时同样重置自增序列 2. 慢接口被掐断修复(预处理/首字耗时过长 Read timed out): - 读取超时默认 300s→1800s(30分钟),连接 60s - 「速度测试配置」新增 请求超时(秒) 输入框(默认1800),测试连接+速度采样共用,按次可调(如3600) - 超时错误改为友好提示:等待响应超时(超过N秒未收到数据),引导调大请求超时,不再裸抛 Read timed out - 测试启动日志打印当前超时配置 - 修复案例: 18008 Qwen3.8-FP8 131072 长上下文预填充被 300s 掐断
This commit is contained in:
+12
-1
@@ -277,14 +277,21 @@ def query_tests(q="", status="", provider="", sort="id", order="desc",
|
||||
|
||||
|
||||
def clear_tests():
|
||||
"""一键清空全部历史(测试记录 + 采样指标 + 日志)"""
|
||||
"""一键清空全部历史(测试记录 + 采样指标 + 日志)。
|
||||
真正清空:删除全部行 + 重置自增序列 + WAL 检查点 + VACUUM 物理回收文件空间,
|
||||
数据不可恢复(不是只从列表里移除,文件里也不再残留)。"""
|
||||
with _lock:
|
||||
conn = _connect()
|
||||
try:
|
||||
conn.execute("DELETE FROM test_runs")
|
||||
conn.execute("DELETE FROM logs")
|
||||
conn.execute("DELETE FROM tests")
|
||||
# 重置自增序列:清空后新测试 ID 从 1 重新开始
|
||||
conn.execute("DELETE FROM sqlite_sequence WHERE name IN ('tests','test_runs','logs')")
|
||||
conn.commit()
|
||||
# WAL 检查点截断 + VACUUM:把文件里已删除的数据页物理抹掉、文件瘦身
|
||||
conn.execute("PRAGMA wal_checkpoint(TRUNCATE)")
|
||||
conn.execute("VACUUM")
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
@@ -296,6 +303,10 @@ def delete_test(tid: int):
|
||||
conn.execute("DELETE FROM tests WHERE id=?", (tid,))
|
||||
conn.execute("DELETE FROM test_runs WHERE test_id=?", (tid,))
|
||||
conn.execute("DELETE FROM logs WHERE test_id=?", (tid,))
|
||||
# 全部删光时顺带重置自增序列
|
||||
n = conn.execute("SELECT COUNT(*) FROM tests").fetchone()[0]
|
||||
if n == 0:
|
||||
conn.execute("DELETE FROM sqlite_sequence WHERE name IN ('tests','test_runs','logs')")
|
||||
conn.commit()
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
Reference in New Issue
Block a user