乐于分享
好东西不私藏

国药AI实验室|PD分离技术与KVCache精度对大模型推理性能的影响分析

国药AI实验室|PD分离技术与KVCache精度对大模型推理性能的影响分析

01 简介

PD分离技术:PD分离(Prefill-Decode Disaggregation)技术的核心在于,将一个完整的大模型推理任务,拆分为由不同硬件集群负责的预填充(Prefill)和解码(Decode)两个阶段。核心概念是在标准的Transformer架构中,推理被分为预填充Prefill阶段(处理用户输入的整个提示词,为每个Token生成KV缓存,属于计算密集型任务,需要大量GPU算力)和解码Decode阶段(基于已生成的KV缓存,逐个生成新Token,属于访存密集型任务,对显存带宽要求极高。)。

在传统的混合部署方式,会将两种截然不同的计算模式放在同一硬件上,导致资源利用不均。预填充分时显卡算力跑满但显存空闲,解码时则因显存带宽受限而算力闲置,造成资源浪费,限制了吞吐量。PD分离技术可以把两个阶段的任务配置到不同GPU计算资源上,P节点由高算力GPU集群构成,专注于处理所有新请求的Prefill阶段,生成KV缓存。D节点由高显存带宽GPU集群构成,专职处理已存在KV缓存的Decode阶段,负责所有Token的生成工作。

两个节点分工的关键在于通过高效的KV Connector(如PyNcclConnector或MooncakeConnector),将P节点计算出的KV缓存传输给D节点继续处理。PD分离技术的工作流程是用户请求先由P节点处理,P节点执行Prefill并生成KV缓存。随后,P节点通过KVTransferConfig将缓存等元数据传递给D节点。最后,D节点基于获取的KV缓存执行Decode阶段,迭代生成最终回复。

KV缓存精度:KV缓存精度(KV Cache Quantization)旨在通过调整KV缓存的数据存储格式,降低显存占用,让有限的显存能同时服务更多请求。KV Cache本质是Transformer模型中存储键(Key)和值(Value)张量的大块显存。降低其精度,相当于用更低的精度存储中间结果,以换取存储空间。在大模型推挤阶段KV缓存的显存占用常常是瓶颈。降低其精度可以直接减少显存占用,从而增大批次大小(BatchSize),提升吞吐量并支持更长的上下文。

主要精度选项(kv_cache_dtype):

auto:默认值,使用模型本身的精度(如BF16/FP16),精度最高,但显存占用也最大。

fp8:推荐精度,将KV缓存压缩为8位浮点格式,在精度和效率间取得绝佳平衡。实测显示,使用FP8后,吞吐量可提升60%,并发处理能力提升5倍以上。

fp8_e4m3/fp8_e5m2:两种FP8数据格式。e4m3动态范围稍小但精度更高,通常为首选。

实验室为更高治理地实施Token工厂项目,通过实验分析两类技术对推理性能的实际影响:

1.1 部署形态:

默认vLLM

vLLM--enable-chunked-prefill

1P1D(1Prefill+1Decode)PD分离

1.2 KVCache精度:

FP16

FP8

重点考察它们对以下性能指标的影响:

TTFT(Time To First Token,首token延迟)

TPOT(Time Per Output Token,单输出token时间)

ITL(Inter-Token Latency,token间时延)

E2EL(End-to-End Latency,端到端延迟)

Throughput(吞吐,tok/s)

02 实验配置

根据实验表格,主要设置如下:

并发数:2

输入/输出长度:1024/512

Model max len/max token参数:2048

03 PD分离技术原理

PD分离(Prefill-Decode Disaggregation)的技术原理,是将一次推理请求中的prefill阶段与decode阶段部署到不同的vLLM实例上执行。其核心思想是:prefill负责处理长输入上下文、构建KV Cache,decode负责基于已生成的KV Cache持续输出后续token。通过这种方式,系统可以分别为prefill和decode配置不同的并行策略、显存预算和硬件资源,从而实现对TTFT和ITL的分开调优。vLLM官方文档将其定义为一种实验性特性,并指出这种架构的目标是实现prefill与decode的资源解耦,而不是直接提升单实例吞吐。

在实际部署中,PD分离通常由Proxy/Router作为统一入口。客户端仍然像访问普通OpenAI兼容接口一样,向Proxy的/v1/completions或/v1/chat/completions发起请求;随后Proxy选择一组可用的Prefill实例(P)和Decode实例(D),为该请求生成唯一的request_id,并将请求分别转发给两侧。按照官方P2PNCCLConnector的流程,Proxy会先把一个“只做prefill”的请求发给P端,再把原始请求发给D端,随后由P端生成KVCache,并通过KV传输连接器发送给D端,D端在收到KV后继续执行第一次decode并开始输出结果。

从端口监听的角度看,PD分离至少涉及两类端口。第一类是每个vLLM实例对外提供推理服务的HTTP端口,例如prefill实例监听8100,decode实例监听8200,这些端口用于接收Proxy转发过来的OpenAI风格请求;第二类是用于KVCache传输和握手的端口,例如kv_port,它不直接对客户端暴露,而是由P/D实例之间的connector使用。

04 实验结果概览

4.1 TTFT(首token延迟)

表1:不同配置在TTFT(ms)的表现差异

观察:

在普通vLLM和vLLM+chunk prefill中,FP8与FP16的TTFT基本接近,尤其是中位数的差距在0.01ms级别。FP8的p99 TTFT数值相比FP16显著降低,整体表现更加稳定。

1P1D中,FP8的TTFT明显恶化,从168.12上升到205.25。说明在PD分离场景下,低精度KV Cache对首token阶段更敏感。

从尾延迟看,1P1D的p99 TTFT很高。这说明PD分离会带来更明显的尾部抖动,即使1P1DFP16精度有着最好的中位数TTFT,但极端请求延迟更容易被拉高。但同时FP16精度下1P1D的中位数达到了最佳结果。说明了大部分情况下该配置优化了首token的生成。

综合来看,KV Cache精度对TTFT的影响具有明显的部署相关性。在普通vLLM和vLLM+chunk prefill场景下,FP8与FP16的平均和中位数TTFT基本持平,而FP8在p99指标上反而更优,说明单机一体化推理链路中,低精度KV Cache并不会显著伤害首token性能,甚至有助于提升尾延迟稳定性。但在1P1D的PD分离场景中,FP8的TTFT明显变差,且整体尾延迟抖动更突出,说明此时首token性能已不再主要受计算本身限制,而更多受到KV传输、跨实例调度、缓冲与同步开销的影响。也就是说,FP8的收益主要体现在稳态decode阶段,而PD分离带来的链路复杂度会放大首token路径上的不确定性。因此,如果系统目标是提升吞吐和长期生成效率,FP8仍然是有价值的优化方向;但如果业务更看重交互式体验中的首token延迟和尾延迟稳定性,那么在PD分离架构下,需要更加谨慎地评估FP8 KV Cache的实际收益。

4.2 TPOT(单输出token时间)

表2:不同配置在TPOT(ms)的表现差异

观察:

所有配置下,FP8的都优于FP16/BF16。

说明KV Cache量化对decode阶段的持续生成效率帮助明显,因为KV占用下降后,访存压力减轻,token生成速度更快。

普通vllm和vllm+chunk在TPOT上的表现近似,1P1D在0.1ms级上有一定的提速。

综合来看,FP8 KV Cache在decode阶段带来的收益是稳定且一致的。无论是普通vLLM、vLLM+chunk prefill,还是1P1D,FP8在TPOT指标上都优于FP16/BF16,说明KV Cache量化确实能够有效降低decode过程中的访存负担,从而提升持续生成阶段的token输出效率。从不同部署形态的横向比较来看,普通vLLM与vLLM+chunk prefill在TPOT上几乎没有差异,表明chunk prefill主要影响的是prefill阶段,对稳态decode性能影响有限;而1P1D在0.1ms量级上进一步降低了TPOT,说明PD分离在将prefill与decode负载解耦后,能够让decode侧获得更稳定、更纯粹的计算资源,从而在持续生成阶段体现出轻微但可观测的提速效果。因此,可以认为:KV Cache精度决定了decode的基础效率,而PD分离更多是在资源调度层面进一步优化decode的执行环境,但是目前观测到的优化程度有限。

4.3 ITL(token间时延)

表3:不同配置在ITL(ms)的表现差异

观察:

ITL与TPOT走势基本一致。FP8的收益主要体现在decode阶段的连续token生成,而不是统一地改善所有阶段。

实验结果表明,FP8在所有配置下都能带来更低的ITL,这说明KV Cache量化的主要收益并不体现在首token生成或整体链路各阶段的普遍优化上,而是集中体现在持续生成阶段的访存开销降低与解码节奏加快。换言之,FP8更像是一种针对decode路径的专项优化:它通过减少KV Cache占用、缓解显存带宽与访问压力,使模型在长序列生成过程中保持更快的token输出速度。从PD分离与不分离的对比来看,ITL在不同部署方式下整体差异不大。普通vLLM与vLLM+chunk prefill的ITL也基本接近。此处表现与预期并不相符,没有体现出PD分离对推理阻塞问题的优势。后续扩张prompt和输出长度也没有体现出PD分离和普通配置之间的差异。

4.4 推理端:E2EL(端到端延迟)

表4:不同配置在E2EL(ms)的表现差异

观察:

从端到端结果看,FP8一致优于FP16。

说明虽然1P1D下FP8的TTFT变差,但在整个请求生命周期内,decode侧收益仍然足以让E2EL总体下降。在平均数和中位数对比中依然有优秀的表现。

从E2EL(端到端延迟)结果来看,FP8在所有部署配置下均优于FP16/BF16,说明KVCache量化带来的收益不仅体现在单个token的生成速度上,也最终传导到了完整请求的总完成时间。普通vLLM与vLLM+chunk prefill的E2EL表现非常接近,说明chunk prefill对整体端到端时延的影响较小,其作用更多体现在prefill阶段的调度方式调整,而不会显著改变完整请求的执行效率。相比之下,1P1D的E2EL在不同精度下也保持了较好的水平:虽然PD分离在TTFT上引入了一定额外开销,但在后续decode阶段,由于prefill和decode负载被拆分,decode侧资源竞争减轻,因此整体端到端延迟并未恶化,反而在部分配置下表现更优。

05 PD分离的影响分析

从与普通vLLM的对比结果来看,PD分离对平均性能的影响整体较小。在FP16配置下,1P1D的mean TTFT仅比普通vLLM高约1.39%,而E2EL反而下降约1.12%,Throughput也提升约1.11%,说明在本实验设置中,PD分离并没有明显拉低系统的平均吞吐或平均端到端性能。进一步看分位数指标可以发现,1P1D在中位数TTFT上甚至具有一定优势,说明对于大多数常规请求而言,PD分离后的prefill与decode负载解耦并不会显著拖慢首token返回,部分情况下还可能因为decode资源更独立而表现更优。然而,PD分离的代价主要体现在尾部时延的放大上:其p99 TTFT明显高于普通vLLM,表明在少数极端请求中,分离后的链路更容易受到调度、通信、KV传输和同步开销的影响,从而产生更强的尾部抖动。也就是说,PD分离的核心特征并不是显著改变平均性能,而是在“中位数表现尚可、甚至略优”的同时,引入更高的尾延迟风险。对于关注整体吞吐和平均完成时间的场景,这种代价可能是可以接受的;但对于高度依赖首token稳定性的在线交互服务,则需要特别关注这类尾部抖动带来的体验波动。

值得注意的是,PD分离显著提升了对显存的需求。不仅要使用P和D两端两个实例加载完整模型,KVCache在传输调度的过程中会需要额外的缓冲。这导致在使用同样数量GPU的情况下,PD分离只能配置较小的上下文长度,接受更小的prompt,并且有更高的OOM风险。这也是局限本实验使用小prompt/output的原因。

06 KVCache精度的影响分析

从整体结果来看,FP8的主要收益集中体现在decode阶段。无论是TPOT、ITL、吞吐还是E2EL,FP8相比FP16/BF16都表现出较为一致的改善,这说明KV Cache量化的核心作用在于降低KV的存储与访存成本,使模型在持续生成过程中读取历史上下文的负担更轻,从而提升连续token输出效率,并最终转化为更高的整体吞吐和更低的端到端时延。

相比之下,FP8对TTFT的影响则表现出明显的不稳定性。在普通vLLM场景下,FP8与FP16的TTFT基本接近;在vLLM+chunk prefill中,FP8还表现出一定改善;但在1P1D的PD分离场景下,FP8的TTFT却明显恶化。这说明KV Cache量化对首token阶段并不是单调增益,其效果会受到具体系统链路的强烈影响。尤其在PD分离架构中,首token生成不仅依赖prefill本身,还会受到prefill与decode之间KV传输、cache格式转换或序列化、量化与反量化带来的启动开销,以及调度与同步机制的共同影响,这些额外因素会放大首token路径上的不确定性。因此可以认为,FP8更适合作为面向吞吐和总时延的优化手段,而不是保证最佳首token体验的通用方案。

07 结论

综合本次实验可以得出如下结论:PD分离与KV Cache精度优化对推理性能的影响具有明显的阶段性和目标导向性。从整体趋势看,FP8的优势主要集中在decode阶段,其在TPOT、ITL、吞吐和E2EL上均表现出较为一致的改善,说明KV Cache量化能够有效降低显存占用和访存压力,从而提升连续生成阶段的效率;但在TTFT上,FP8的收益并不稳定。另一方面,PD分离本身并未明显拉低平均吞吐或平均端到端时延,甚至在中位数指标和decode稳态性能上表现出一定优势,但其代价在于更高的尾延迟风险,即少数请求更容易受到链路复杂度影响而出现显著抖动。

基于以上结论,建议在实际部署中根据业务目标进行针对性选择:如果系统更关注吞吐、长文本生成效率和整体完成时间,则优先考虑采用FP8 KV Cache,并结合普通vLLM或vLLM+chunk prefill部署,以在保证整体稳定性的同时获得更高的decode效率。PD分离仍具有实际价值,但需要重点优化KV传输缓冲、调度策略与并发控制,以降低尾部抖动对用户体验的影响。

附件:

A.1、PD分离情况下GPU使用情况

GPU0和GPU1:prefill GPU

GPU4和GPU5:decode GPU

GPU Utilization Percentage:在单位采样时间里,计算核心有多少时间在工作

GPU Memory UtilizationPercentage:在采样周期内,GPU的显存带宽接口有多大比例的时间在进行读写

Prefill GPU的工作特点:相对低的基线,间歇性峰值。这符合prefill处理的特点:一次性编码prompt,建立KVcache。并且prefill单次计算量大,但持续时间短,导致了间歇性峰值的出现。

Decode GPU的工作是持续性的,算子在推理过程中不断被调度,稳定处在高位状态。偶尔出现的下探型尖峰代表着活跃序列数变化,调度与通信的开销。而且GPU4明显比5更忙,体现出了负载的不完全均衡。

下图符合PD分离的预期,prefillGPU表现为突发式、低占空比的脉冲负载;decodeGPU表现为持续式、高占空比的平台负载。说明系统已经把prompt编码与逐token生成两个阶段有效解耦,并分别落在不同GPU上执行。

图1:PD分离下GPU采样时间内的工作情况

A.2、普通四卡并行情况下GPU使用情况

在没有PD分离的情况下,四张GPU都呈现出持续性工作,偶有突发的情况。每张卡都同时在做prefill+decode,所以四张卡的曲线形态更相似、更混合。不再有PD分离时清晰的波动形状。而且负载情况并不均衡,GPU0的算子工作明显低于其他GPU,而GPU1的显存带宽占用情况同样要低于别的GPU。

图2:四卡并行推理,无PD分离下GPU使用情况

【原创声明】本文由“国药数科”公众号原创出品,引用或转载请注明公众号出处。如需交流合作,请联系国药数科公众号或邮箱:liangwenge@sinopharm.com。

END

内容来源:科技创新中心

点击关注 了解更多

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 13:04:34 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/601245.html
  2. 运行时间 : 0.142821s [ 吞吐率:7.00req/s ] 内存消耗:4,855.73kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1de7f27782adf3f1f6f45dcb4106ddb4
  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 ( 3.94 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.30 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.000545s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000731s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000595s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000293s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000474s ]
  6. SELECT * FROM `set` [ RunTime:0.000209s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000631s ]
  8. SELECT * FROM `article` WHERE `id` = 601245 LIMIT 1 [ RunTime:0.000782s ]
  9. UPDATE `article` SET `lasttime` = 1778475874 WHERE `id` = 601245 [ RunTime:0.018851s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.003498s ]
  11. SELECT * FROM `article` WHERE `id` < 601245 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001340s ]
  12. SELECT * FROM `article` WHERE `id` > 601245 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003070s ]
  13. SELECT * FROM `article` WHERE `id` < 601245 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000843s ]
  14. SELECT * FROM `article` WHERE `id` < 601245 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002201s ]
  15. SELECT * FROM `article` WHERE `id` < 601245 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000691s ]
0.146817s