乐于分享
好东西不私藏

AI Infra 推理必知必会知识点合集

AI Infra 推理必知必会知识点合集

AI Infra 推理工程的核心任务,是把一个已经训练好的模型变成稳定、低延迟、高吞吐、可扩展、可观测、成本可控的线上服务。

本文只讨论推理相关知识,不展开训练集群、反向传播和训练并行。目标是建立一套可以迁移到不同模型、GPU 和推理引擎上的分析方法:

业务请求-> Tokenizer-> 显存与计算估算-> Prefill / Decode-> KV Cache-> Batching 与调度-> GPU Kernel 与并行-> 监控、压测、容量和成本

推理 Infra 的知识不是孤立的。模型结构会影响 KV Cache,Tokenizer 会影响 token 数,token 数会影响 Prefill、KV、并发、延迟和成本。

1. 推理请求生命周期

一次大模型请求通常经历:

请求到达-> 网关、鉴权、限流-> 排队-> Tokenizer-> Prefill-> Decode 循环-> 流式返回-> 释放 KV Cache
阶段主要工作典型指标主要瓶颈
Tokenizer文本转 token idtokenize time、token 数CPU、规则和词表
Prefill一次处理输入 PromptTTFT、Input TPSGPU 算力、Attention、KV 写入
Decode逐 token 生成输出TPOT、Output TPSHBM 带宽、KV 读取、调度

最重要的延迟公式:

E2E Latency= Queue Time+ TTFT+ 输出 token 数 × TPOT

一个请求慢,可能有三种完全不同的原因:排队慢、首 token 慢、持续输出慢。

2. 业务负载建模

优化前至少收集:

平均 RPS、峰值 RPS、突发系数平均和 P95/P99 输入 token 数平均和 P95/P99 输出 token 数最大上下文长度流式还是非流式是否 RAG、Agent、工具调用、多轮对话是否存在共享 System PromptTTFT、TPOT、E2E 的 P95/P99 SLO单租户和多租户配额

RPS 必须转换成 token 吞吐:

Input TPS = RPS × 平均输入 tokenOutput TPS = RPS × 平均输出 token

例如:

RPS = 100平均输入 = 1,200 token平均输出 = 300 tokenInput TPS = 100 × 1,200 = 120,000 token/sOutput TPS = 100 × 300 = 30,000 token/s

不能只看 RPS。100 RPS 的短问答和 100 RPS 的 10k 长 Prompt 服务,对 GPU 的压力完全不同。

3. Tokenizer 与序列长度

模型不直接读取字符,而是读取 token id。Tokenizer 会影响:

输入 token 数输出 token 数上下文占用Prefill FLOPsKV CacheAttention 的 N² 项计费和吞吐中文、代码、emoji 和罕见字符的表达效率

BPE、WordPiece、SentencePiece、Byte-level BPE 等算法都属于 Tokenizer 生态,但实际部署必须使用与模型训练匹配的 tokenizer 文件和配置。https://aigccoding.feishu.cn/wiki/SdFawE3VyiBacyk1FIjczMsDnzg

应关注:

tokenizer.json、vocab、merges特殊 token 和 chat template中文、英文、代码、URL、emoji 的 token 效率平均 token 数以及 P95/P99 token 数[UNK] 或 byte fallback 比例

如果 token 数增加 20%,线性 Prefill 主项约增加 20%,KV Cache 约增加 20%,Attention 理论平方项可能增加:

1.2² = 1.44

即约 44%。

4. 模型权重显存

最基本公式:

权重显存 ≈ 参数量 × 每参数字节数
精度每参数字节数70B 权重
FP324280GB
BF16 / FP162140GB
FP8 / INT8170GB
INT40.535GB

实际运行显存还需要加上:

模型权重+ KV Cache+ CUDA Graph+ Attention / GEMM Workspace+ NCCL 通信 Buffer+ Runtime+ 显存碎片+ 安全余量

“模型能加载”只是启动条件,不代表它能承载线上并发。

KV Cache 是动态区域,随并发和上下文增长;运行时 Buffer 与安全余量不能被忽略。

5. Attention Head、MHA、GQA、MQA

常见参数:

Hq:Query Head 数Hkv:Key / Value Head 数d_head:每个 Head 的维度

三种结构:

MHA:Hkv = Hq,每个 Query Head 使用独立 K/VGQA:1 < Hkv < Hq,多组 Query Head 共享 K/VMQA:Hkv = 1,所有 Query Head 共享一组 K/V

通用 KV 公式:

KV Bytes / token= 2 × Layer 数 × Hkv × d_head × bytes_per_element

GQA/MQA 最确定的推理收益来自 KV Cache 容量和历史 K/V 访存减少。但 Query Head 数通常不变,因此不能简单理解为 Attention FLOPs 也按 Hkv/Hq 等比例减少。

6. KV Cache

KV Cache 保存历史 token 在每层 Attention 中的 Key 和 Value,供后续 Decode 读取。它不保存历史 Q。

单 token、全模型的 KV Cache:

KV Bytes / token= 2 × L × Hkv × d_head × bytes

KV Cache 的增长方向:

Layer 数越多,KV 越大Hkv 越多,KV 越大上下文越长,KV 越大活跃请求越多,KV 越大

KV Cache 接近上限会导致:

新请求无法准入Waiting Queue 增长TTFT 上升请求抢占或重算显存分配失败和 OOM

Paged KV Cache 将缓存切成 Block,按需分配和释放,主要解决连续分配、内部浪费和显存碎片问题。它不能创造额外显存。

7. Prefill 计算

Prefill 一次处理整个输入 Prompt,并构建输入 token 的 KV Cache。

线性层主项:

Prefill FLOPs_linear ≈ 2 × P × N

其中 P 是参数量,N 是输入 token 数,2 来自乘加 FLOPs 计数。

例如 70B 模型处理 4k token:

2 × 70B × 4,000= 560 TFLOPs

Attention 的全矩阵上界:

FLOPs_attention_full ≈ 4 × L × N² × d_model

其中 N 是序列长度(token数量,上下文长度),d_model是模型隐层维度,L 是Transformer层数。

它来自两次矩阵乘法:

Q × KᵀAttention Score × V

Causal Attention 的逻辑有效区域约为下三角,理想计算量约减半,但实际是否跳过无效 Tile 要看 Kernel。

Prefill 典型特点:

输入 token 可以组成大矩阵并行处理GPU Tensor Core 利用率通常较高输入越长,TTFT 越高长上下文会放大 Attention 和 KV 写入过多 Prefill 会挤占在线 Decode

8. Decode 计算与显存带宽

Decode 每次只生成一个或少量 token,但需要反复读取模型权重和历史 KV Cache。

低 Batch、权重带宽主导时:

Decode tokens/s 上限≈ HBM 带宽 / 每轮读取的权重数据

70GB 权重、3TB/s HBM:

3,000GB/s / 70GB≈ 42.8 token/s

这是只考虑权重读取的理想上界,不是可承诺的实际速度。完整单轮数据量还包括:

权重读取++ 历史 KV 读取++ 新 KV 写入++ 激活与 Workspace++ TP 通信++ 调度与采样

Decode 常见是显存带宽受限,而不是 FLOPS 受限。增加 Batch 可以让一次权重读取服务多个活跃序列,提高聚合 Output TPS,但不一定提高单个请求的流式速度。

9. Prefill 与 Decode 对比

维度PrefillDecode
处理方式一次处理 N 个输入 token每轮生成 1 个 token
用户指标TTFTTPOT
主要资源GPU 计算、AttentionHBM 带宽、KV 读取
关键输入Prompt 长度活跃并发、上下文长度
典型优化FlashAttention、Chunked Prefill、Prompt 压缩Continuous Batching、量化、Speculative Decoding
主要风险长输入独占 GPU输出过长占用 slot 和 KV

在线服务必须同时保护 TTFT 和 TPOT:Prefill 太多,Decode 会卡顿;Decode 太多,新请求 TTFT 会排队。

10. Batching 与调度

Static Batching

固定数量请求一起执行,实现简单,但容易被最长请求拖住,Padding 浪费大,在线流式体验通常较差。

Dynamic Batching

在短等待窗口内合并请求,在吞吐和 TTFT 之间折中。

Continuous Batching

每轮 Decode 重新调度:完成请求释放 slot,新请求及时加入,短请求不必等待最长请求完成。

常用控制量:

max_num_seqsmax_num_batched_tokensGPU memory utilizationPrefill token budgetChunked Prefill

Batch 不是越大越好。超过吞吐甜点区后,KV 读取、排队、TPOT 和 P99 可能快速恶化。

11. Chunked Prefill

Chunked Prefill 把长 Prompt 的计算拆成多个 Chunk,在 Chunk 之间穿插 Decode。

100k 输入,Chunk = 4kChunk 数 = ceil(100,000 / 4,000) = 25

它切的是计算时机,不是上下文语义。后续 Chunk 仍然通过已有 KV Cache 看到前缀。

收益:

  • 避免长 Prefill 一次独占 GPU
  • 保护在线请求 TPOT P95/P99
  • 适合 RAG、长文档、代码库和 Agent

代价:

  • 调度更复杂
  • 纯 Prefill 吞吐可能下降
  • Chunk 太小会增加 Kernel Launch 和调度开销
  • Chunk 太大仍会阻塞 Decode

12. Prefix Cache 与 Paged KV

Prefix Cache

对共享 System Prompt、工具定义、固定 RAG 前缀,Prefix Cache 可以复用已经计算好的 K/V:

共享前缀命中-> 跳过重复 Prefill-> 只计算动态后缀-> 降低 TTFT 和 Input TPS

命中要求:

输入字节一致Tokenizer 配置一致特殊 token 一致前缀 token ID 一致

Paged KV Cache

将 KV Cache 切成固定大小 Block,按需申请和释放:

请求增长 -> 申请新 Block请求完成 -> 释放 Block

它减少显存碎片和按最大长度预分配的浪费,但不能解决真实容量不足。

13. 并行策略

Tensor Parallel,TP

按层内矩阵切分到多张 GPU:

权重本地大小 ≈ 完整权重 / TP size

优点是单卡显存压力降低;代价是每层可能需要 All-Reduce 或 All-Gather。优先使用 NVLink/NVSwitch,跨节点 TP 必须压测。

Pipeline Parallel,PP

按层切分:

GPU 1:Layer 1-20GPU 2:Layer 21-40GPU 3:Layer 41-60GPU 4:Layer 61-80

可以放下更大模型,但会增加流水线空泡和端到端路径长度。

Data Parallel,DP

部署多个完整模型副本,通过负载均衡分发请求。适合高 RPS 横向扩展和故障隔离。

常见组合:

单副本内部 TP多个副本之间 DP

14. 量化

量化降低权重、激活或 KV Cache 的数值位宽。

精度70B 权重粗估典型取舍
BF16140GB质量和兼容性基线
FP8 / INT870GB生产性能和质量折中
INT435GB显存和成本优先,需验证质量

量化收益:

权重显存下降HBM 权重流量下降GPU 数量可能下降单位 token 成本下降

量化风险:

数学、代码和长上下文能力退化结构化输出或工具调用失败率变化量化 Kernel 效率不理想scale / zero point 增加额外流量

KV Cache 也可使用 FP8/INT8,但必须验证真实业务质量。

15. Speculative Decoding

小模型先猜多个 token,大模型一次验证:

Draft Model -> 预测 k 个 tokenTarget Model -> 并行验证接受正确 token

适合 Decode 主导、输出较长且 Draft Acceptance Rate 较高的场景。

Acceptance Rate= 被接受的 Draft Token 数 / Draft Token 总数

如果输出很短、Draft 质量差或主要瓶颈是长 Prompt Prefill,收益可能有限。

16. GPU、Kernel 与通信

推理性能不能只看理论 FLOPS。还要看:

HBM 带宽利用率Tensor Core 利用率Kernel Launch 次数Global Load / StoreL2 Cache 命中NCCL 通信时间PCIe / NVLink 拓扑CPU Tokenizer 和调度耗时

Prefill 通常更容易达到高矩阵利用率;Decode 经常更接近 HBM 带宽问题。Kernel Fusion、FlashAttention、Paged Attention 和量化 Kernel 会改变实际有效性能。

17. 性能指标体系

用户体验

TTFT P50 / P95 / P99TPOT P50 / P95 / P99E2E Latency P50 / P95 / P99请求成功率流式连接中断率

负载与调度

RPS / RPSInput TPSOutput TPSWaiting Queue LengthQueue TimeActive SequencesPrefill / Decode Token 数请求输入和输出长度分布

GPU 与显存

GPU Compute UtilizationHBM Bandwidth UtilizationGPU Memory UsageKV Cache UsageKV Free BlocksOOM 次数Preempt / Swap / RecomputeCUDA / NCCL Error

缓存与业务

Prefix Cache Hit Rate每租户 RPS每租户 token 使用量每成功请求成本每百万 Input / Output Token 成本

18. 故障诊断流程

常用判断:

Queue Time 高=> 看容量、限流、实例数、请求突发、长请求和准入TTFT 高但 Queue Time 低=> 看 Prefill、输入长度、Prefix Cache、长 Prompt 调度TPOT 高=> 看 Decode 并发、显存带宽、TP 通信、Batch 策略KV Cache 接近满=> 看上下文、并发、KV 精度、Prefix Cache、显存预留

如果 GPU 利用率低但延迟高,还要检查:

CPU Tokenizer网关和网络调度器空转Batch 太小Python / RPC 开销

19. 容量规划

吞吐约束

实例数= 业务 Output TPS / 单实例 Output TPS

并发约束

Little's Law:

并发数 ≈ RPS × 平均请求停留时间

KV 约束

实例数= 业务并发 / 单实例安全并发

最终:

实例数= max(吞吐约束实例数,     并发约束实例数,     KV 约束实例数)× 冗余系数

冗余系数需要覆盖:

单实例故障滚动发布流量突刺缓存失效GPU 性能抖动长请求比例上升

20. 成本计算

每百万 token 成本:

每百万 token 成本= 每小时实例成本/ (实例吞吐 token/s × 3,600)× 1,000,000

必须区分:

Input Token 成本Output Token 成本混合 Token 成本每请求成本每成功业务任务成本

一个低价模型如果任务成功率更低、重试更多,真实业务成本可能反而更高。

21. 压测方法

单请求基线

测无排队时的:

TTFTTPOT单请求生成速度显存占用GPU 与 HBM 利用率

并发爬坡

1 -> 2 -> 4 -> 8 -> 16 -> 32 -> 64

记录:

Output TPSTTFT P95/P99TPOT P95/P99Queue TimeKV UsageOOM / Reject

长短请求混合

例如:

80%:1k 输入,200 输出15%:8k 输入,500 输出5%:32k 输入,1k 输出

故障压测

副本下线GPU 重启Prefix Cache 清空流量突然翻倍上游重试风暴超长请求集中进入

上线工作点应该位于吞吐拐点之前,而不是单纯追求峰值吞吐。

22. 推理优化优先级

建议按以下顺序推进:

  1. 1. 明确 RPS、输入输出长度和 SLO。
  2. 2. 建立单请求与并发基线。
  3. 3. 计算权重和 KV Cache 显存边界。
  4. 4. 开启 Continuous Batching 和 Paged KV。
  5. 5. 控制最大上下文和最大输出长度。
  6. 6. 调整 max_num_seqs 与 max_num_batched_tokens
  7. 7. 使用 Chunked Prefill 保护 Decode。
  8. 8. 优化 Prompt、RAG、历史对话和输出长度。
  9. 9. 对共享前缀启用 Prefix Cache。
  10. 10. 评估 FP8、INT8、INT4 和 KV 量化。
  11. 11. 对 Decode 主导场景评估 Speculative Decoding。
  12. 12. 用 TP 承载单模型,用 DP 扩展流量。
  13. 13. 做长短请求、租户和优先级隔离。
  14. 14. 用真实压测结果做容量和成本核算。

23. 生产上线检查清单

模型与配置

模型权重精度已确认Tokenizer 与模型严格匹配特殊 token 和 chat template 正确最大上下文已设置最大输出已设置MHA/GQA/MQA 配置已确认

显存与服务

权重、KV、Workspace 已估算KV Cache 安全水位已设置Paged KV 已启用OOM 和拒绝策略已验证滚动发布仍有容量余量

调度与性能

Continuous Batching 已验证max_num_seqs 已压测Prefill Budget 已设置Chunked Prefill 已压测短长请求隔离策略已确认

观测与应急

TTFT / TPOT / Queue Time 有 P95/P99KV Free Blocks 可观测Prefix Cache Hit Rate 可观测OOM、拒绝、抢占有告警限流、降级、扩容、回滚可执行

24. 必须记住的公式

权重显存= 参数量 × bytes_per_parameterKV Bytes / token= 2 × Layer × Hkv × d_head × bytesKV Bytes / request= KV Bytes / token × context_tokensPrefill FLOPs≈ 2 × 参数量 × 输入 token 数Attention FLOPs 全矩阵上界≈ 4 × Layer × N² × d_modelDecode 权重带宽上界≈ HBM Bandwidth / 权重字节数并发≈ RPS × 平均请求耗时Input TPS= RPS × 平均输入 tokenOutput TPS= RPS × 平均输出 tokenE2E= Queue Time + TTFT + Output Tokens × TPOT

25. 最终知识地图

成为合格的 AI Infra 推理工程师,至少要能回答:

一个模型能否放进 GPU?权重之外还剩多少 KV Cache?一个 8k 请求需要多少 KV?MHA、GQA、MQA 对并发有什么影响?Prefill 和 Decode 谁是瓶颈?为什么 GPU FLOPS 不高但 HBM 带宽很高?Batch 增大为什么提高聚合吞吐?为什么长 Prompt 会拖慢在线聊天?Chunked Prefill 如何保护 TPOT?Prefix Cache 为什么能降低 TTFT?TP、PP、DP 应该如何选择?量化省下的显存是否真的转化成吞吐?实例数如何同时满足 RPS、并发、KV 和故障冗余?线上 Queue Time、TTFT、TPOT、KV 满载分别怎么排查?

最终可以用一句话概括 AI Infra 推理:

把 token 变成 GPU 上可高效调度的数据流,在显存、算力、带宽、通信、延迟、吞吐、稳定性和成本之间找到可持续的工作点。
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-16 00:22:44 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/937089.html
  2. 运行时间 : 0.248712s [ 吞吐率:4.02req/s ] 内存消耗:4,918.78kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2ce04e22b42b542d7e3cf87d80d122db
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 4.22 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.11 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000939s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001365s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000634s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000675s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001384s ]
  6. SELECT * FROM `set` [ RunTime:0.000601s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001478s ]
  8. SELECT * FROM `article` WHERE `id` = 937089 LIMIT 1 [ RunTime:0.028923s ]
  9. UPDATE `article` SET `lasttime` = 1786810964 WHERE `id` = 937089 [ RunTime:0.012603s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000808s ]
  11. SELECT * FROM `article` WHERE `id` < 937089 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001293s ]
  12. SELECT * FROM `article` WHERE `id` > 937089 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001118s ]
  13. SELECT * FROM `article` WHERE `id` < 937089 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001999s ]
  14. SELECT * FROM `article` WHERE `id` < 937089 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006072s ]
  15. SELECT * FROM `article` WHERE `id` < 937089 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003046s ]
0.252738s