乐于分享
好东西不私藏

AI机房水冷实录04: 显卡功耗墙上,藏着一笔白捡的电费

AI机房水冷实录04: 显卡功耗墙上,藏着一笔白捡的电费

摘要:GPU 功耗墙从 100% 降到 80%,性能未必明显掉。能效曲线、power cap 和负载差异决定电费账。

AI机房水冷实录04主封面

从一次"调慢却没变慢"的实验说起

水冷上线那阵子,我做过一个很简单的实验。

挑了一张正在跑训练的卡,把它的功耗墙——也就是允许的最大功耗——从出厂的 100% 一路往下压。压到 90%,训练曲线没什么变化;压到 80%,我盯着每一步的耗时看了好久,几乎感觉不出来变慢。可机柜的电表明显转慢了,那张卡的进出水温差也小了一截,芯片读数凉了好几度。

这就有点反常识了。功耗少了十几个百分点,活儿干得几乎一样快,电费和热量却实打实地降了。那少烧的那部分电,本来是花在哪儿的?

第一篇里我把这件事记成了"账二"的一半:**降功耗,几乎是一顿白捡的午餐。**当时只用一句话带过,这一篇就专门把它讲透——这笔"白捡的电费"到底从哪来,以及更要紧的:知道了这个道理之后,一座 AI 机房该怎么花自己的功耗预算。

先说清楚边界。这里先谈"能效曲线长什么样、功耗策略为什么这么定";至于推理怎么抢占训练、容器之间怎么协作、功耗墙具体由谁实时去拧,那是后面几篇的事。先把"为什么"立住,后面再谈"怎么做"。

第一层:功耗和性能,根本不是一条直线

很多人下意识觉得,功耗和性能是成正比的:多给一成电,就多干一成活。如果真是这样,那压功耗就是纯亏,白捡的午餐根本不存在。

可芯片不是这么工作的。数字电路的动态功耗,大致正比于"电压的平方乘以频率",写成公式就是 P ∝ V²·f。频率越高,需要的电压也越高,而功耗对电压是平方级的敏感。这就埋下了一个很别扭的结构:你想再往上抠出那么几十、上百兆赫兹的频率,得同时把电压抬上去,于是功耗不是线性涨,而是被电压的平方狠狠放大。

后果就是:功耗曲线最顶端那一段,边际收益极差。

GPU 功耗墙从 100% 降到 80% 后性能几乎不变但发热和电费明显下降的对比图

打个比方,这就像开车:时速从 60 提到 90,油耗涨得有限;可你想从 110 再榨到 130,风阻是平方级往上涨的,油门得踩到底,油耗陡增,时间却没省下多少。芯片冲高频和汽车冲高速,是同一种"越到顶越费"的曲线。

厂商为什么偏偏把卡默认设在这条曲线的最顶端?因为出厂规格、跑分榜、发布会上的那串数字,比能效更好卖。把电压和功耗灌到不成比例,只为多换那一点点频率,在营销上是划算的;但对一台买来干活、而不是刷榜的卡,这笔账完全不成立。你买到手的"100% 功耗",很多时候就站在收益最差的位置上——而且没人拦着你走下来,厂商也留好了功耗墙这个旋钮让你自己调。

我那次实验的数字,其实和业界被反复引用的实测直觉对得上。游戏卡领域有个很经典的例子:同一张卡在同一个场景,功耗墙 100% 时跑 42 帧、烧掉约 570 瓦;把功耗墙拖到 80%,帧数只掉到 40 帧(差不多 -5%),功耗却降到约 480 瓦(降了将近 16%)。深度学习这边的研究结论也类似——给训练任务做功耗封顶,常常能省下约 15% 的能耗,而训练时间只多出一点点。

把这个边际递减用一张表摆出来,直觉就很清楚了:

功耗墙
相对性能
相对功耗
能效(性能/功耗)
100%
100
100
1.00
90%
~98
90
~1.09
80%
~95
80
~1.19
70%
~88
70
~1.26

注意最右边那一列:功耗往下压,每一瓦电换来的性能反而越来越高。从 100% 到 80%,性能只让出了约 5 个点,能效却抬了快两成。那让出去的功耗去哪了?在 100% 那一档,它基本是白白烧成了热——既花了你的电费,又反过来给散热系统添了一份要带走的负担。

如果把"顶端这段电花得值不值"画成饼,大概是这样一个刺眼的比例:

95%5%顶端那 20% 功耗 · 换来了多少性能前 80% 功耗换来的性能 [95]顶端 20% 功耗换来的性能 [5]

最后那 20% 的功耗,只买到了大约 5% 的性能。对一台拿来跑生产的机器,这部分支出几乎是纯亏。而且它亏的还不止电费——多出来的热,正是上一段说的、要散热系统额外去对付的那份。降功耗的同时顺手降了温,也就顺带护了寿命(高温怎么折寿,前面两篇已经算过账,这里不再展开),这是同一个动作捎带的好处。

所以"白捡的电费"不是玄学:它是芯片功耗-频率曲线的形状,本来就给你留了一段几乎免费的下调空间。问题只是,你愿不愿意从那个最难看的顶端走下来。

第二层:压功耗有两种工具,一把钝器,一把手术刀

知道了顶端那段电不值,接下来就是怎么把它省掉。这里有两种思路,得分清楚,因为它们的代价完全不同。

第一种是功耗墙(power cap)。它简单粗暴:直接给整张卡的最大功耗设一个上限,卡自己会在这个上限内动态调整频率和电压。你不用关心曲线长什么样,只要说一句"最多烧到 X 瓦",剩下的交给硬件。它是一把钝器,但钝得可靠——一行命令、一个数值,即时生效,几乎没有翻车风险。NVIDIA 的卡上,它就是一个标准接口:读得到这张卡允许的功耗下限和上限,再写一个目标值进去,卡立刻照办。我那次实验拧的就是它,后面那套守护进程调的也是它。

第二种是降压(undervolting)。它精细得多:不动频率上限,而是去改"电压-频率曲线"本身,让卡在跑同一个频率时用更低的电压。因为功耗对电压是平方级敏感,电压降一点,功耗和发热就降一大块;运气好时,省下来的热裕量还能让卡把频率冲得更高,出现"既降功耗又不掉、甚至略涨性能"的局面。它是一把手术刀。

代价也在这把手术刀上。每一颗芯片的体质都不一样——同型号、同批次,有的能在很低的电压下稳定,有的稍微一降就崩,这就是常说的"硅片彩票(silicon lottery)"。所以降压没法一套参数全机房通刷,得一张卡一张卡地试,还要长时间压力测试去验证稳定性。一旦电压给得过激,表现不是直接报错,而是偶发的计算出错或者随机崩溃,排查起来非常折磨。

两者的取舍,摊开看更清楚:

维度
功耗墙 power cap
降压 undervolt
原理
给最大功耗封顶
改电压-频率曲线
性能代价
顶端略掉一点
可能不掉甚至略升
调试成本
一条命令、即时
逐卡试、需长测
风险
低、可逆
偶发崩溃、个体差异

我的选型直觉很简单:**要省心、要稳、要能批量统一管理,用功耗墙;要把能效压到极致、且愿意为单卡花调试时间,再上降压。**对一座几十上百张卡、还要靠程序自动调节的机房来说,功耗墙是默认答案——它可编程、可即时回调、对每张卡行为一致,天生适合交给守护进程去拧。降压更像是给少数关键卡做的精装修,不适合当成全局策略。

后面整套自动调节的故事,都建在功耗墙这把钝器上。它不够锋利,但足够听话——而"听话",对一个要无人值守跑很久的系统来说,比锋利重要得多。

第三层:机房视角下,功耗就是吞吐,就是钱

把镜头从单卡拉远到整座机房,这笔账会变得更重。

有个容易被忽略的事实:今天的 AI 机房,瓶颈往往不在算力,而在电力和散热。一个机柜能塞多少卡、能跑多满,常常不是被 GPU 的算力卡住,而是被这一柜的供电容量和制冷能力卡住。机柜的总供电是按额定上限设计的,水冷回路一分钟能带走多少热也是有上限的——这两个数字才是真正的天花板。在这种"电力受限"的格局里,能效不再是一个环保口号——每一瓦电能换出多少有效吞吐,直接等于你的产能和成本。

这一点会带来一个很实在的连锁反应。假设每张卡靠功耗墙省下一成功耗,一柜八张卡省下的总量,可能就够再塞进一两张卡而不超供电上限;省下来的那部分热,也给水冷回路留出了应对夏天高温、或某个泵降速时的缓冲。换句话说,省下来的功耗不只是省电费,它还直接换成了机柜的承载能力和抗风险余量。同样一笔电力预算,花得省,就能多干活、多扛意外。

机柜功耗预算示意图,单卡功耗墙下调后释放出供电和散热余量,可用于更多卡或风险缓冲

也正因为如此,学界这些年很关注"温度感知的动态电压频率调节(DVFS)"——根据负载和温度实时调电压、调频率,把卡始终摁在能效曲线的甜点上。多项实测显示,相比默认设置,挑对频率能给训练任务省下约 8.7%23.1% 的能耗,给推理任务省得更多,能到约 19.6%26.4%。这些数字背后是同一个道理:默认档位几乎总是偏激进,主动往下调,普遍都有得赚。

但机房和单卡有个关键区别:机房里的卡,负载类型是不一样的。这就引出最实用的一招——别给所有卡、所有时刻都用同一个功耗墙,而要按负载类型分配功耗预算

具体到我那套守护进程,策略分成三档:

  • • 常态:不管跑什么,先把功耗墙压到约 0.9。这一刀砍掉的,正是第一层里那段最不值钱的顶端功耗,基本无感,却人人受益。
  • • 训练独占某卡时:进一步启用一个更低的"空闲功耗限制",约 0.65。训练这种后台任务对延迟根本不敏感,慢一点没人在意,正好拿来换能效和低温——让卡降频慢跑,凉着干活。
  • • 推理一进来:立刻解除那个低限制,把功耗放回常态档,优先保住在线服务的响应速度。

判断"推理来没来"的信号也很朴素:守护进程盯着每张卡上各进程的 GPU 利用率,一旦有非训练进程的利用率冒过一个很低的阈值(默认 2%),就认定有在线请求落到了这张卡上,马上把它从"省电模式"切回"满血模式"。

这套差异化逻辑,用流程图看最直观:

没有

否(空着)

每张卡: 先压到常态 0.9
这张卡有推理吗?
解除低限放回常态 保性能
只剩后台训练?
启用空闲限 0.65降频换能效与低温

图里只有两个判断,却把三档策略都串起来了:常态档是地板,训练独占时往下探到省电档,推理一出现就立刻弹回。整张卡的功耗预算,跟着它当下扛的活儿走。

为什么值得这么麻烦地分档?因为前面那些能效数字告诉我们,训练和推理对功耗的"性价比"诉求根本不同。把它们摆在一起对比,策略的逻辑就闭环了:

负载类型
对延迟
功耗档位
图的什么
后台训练
不敏感
低(~0.65)
极致能效、低温
在线推理
很敏感
满(放回常态)
响应速度
卡空闲
——
常态(0.9)
砍掉无效顶端

同一张卡,在不同时刻、扛不同的活儿,就该花不同的功耗。这不是抠门,而是把有限的电力和散热预算,精准地投到最需要它的地方去。

结论:先从那个最难看的顶端走下来

回到开头那次"调慢却没变慢"的实验。

它给我的真正启发,不是"原来能省电",而是默认设置几乎从不站在能效最优的位置上。厂商把卡顶在曲线最难看的那一段,是为了规格表好看;而一座要长期跑生产的机房,完全没必要替这份好看买单。从顶端往下走一步,你几乎什么都没损失,却同时拿到了三样东西:更低的电费、更凉的芯片、更多的供电与散热余量。

更进一步,功耗不该是一刀切的固定值,而该是跟着负载走的预算:常态压掉最不值钱的顶端,训练独占时再往下探,去换能效和低温;推理一来,立刻放回去保性能。这就是这一篇要立住的"为什么"。

但留了个尾巴没解决:功耗墙到底该压到 0.9 还是 0.85?该在多少度、停留多久才动手?这些数,靠人盯着监控手动去拧,既慢又不可能 7×24 守着。真正优雅的做法,是让功耗墙自己长出一只手,实时追着温度走——温度有余量就往下压,温度逼近红线就松开。下一篇,我们就来讲怎么用一个经典的反馈控制器,把冷冰冰的功耗墙,变成一个会自动微调的"温控旋钮"。


边界也别省略:自动调节功耗、按负载差异化分配功耗预算,只应该用在你自己有权管理的设备上。功耗墙拧得不当,轻则任务变慢,重则可能影响线上服务甚至搞坏数据;技术本身中立,后果与责任都在使用者。请别把这些操作伸到不属于你的机器上,也别拿去干扰别人正在跑的系统。

AI机房水冷实录04副封面
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-08 12:08:25 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/726147.html
  2. 运行时间 : 0.239248s [ 吞吐率:4.18req/s ] 内存消耗:4,773.77kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=aac35d7b4f6b6f8289385aa1588393a5
  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.001213s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001603s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000697s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000642s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001230s ]
  6. SELECT * FROM `set` [ RunTime:0.000562s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001328s ]
  8. SELECT * FROM `article` WHERE `id` = 726147 LIMIT 1 [ RunTime:0.001345s ]
  9. UPDATE `article` SET `lasttime` = 1780891705 WHERE `id` = 726147 [ RunTime:0.027675s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000584s ]
  11. SELECT * FROM `article` WHERE `id` < 726147 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001081s ]
  12. SELECT * FROM `article` WHERE `id` > 726147 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002359s ]
  13. SELECT * FROM `article` WHERE `id` < 726147 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004552s ]
  14. SELECT * FROM `article` WHERE `id` < 726147 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002916s ]
  15. SELECT * FROM `article` WHERE `id` < 726147 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002843s ]
0.243180s