当前位置:首页>Linux>Linux 网络栈在 RDMA 场景下的角色

Linux 网络栈在 RDMA 场景下的角色

  • 2026-06-27 11:45:46
Linux 网络栈在 RDMA 场景下的角色

这里是「算力网络架构手记」北京

  • 专注 AI 集群网络架构与性能优化

  • 深入 GPU×RoCE×NCCL×K8s 跨层瓶颈

  • 只拆真实问题,不写概念科普


👇 试听内容

👉 AI 训练网络全路径拆解视频课 → 私信:AI网络

👉 AI 推理网络全路径拆解视频课 → 私信:推理

👉 AI 网络架构工程指南手册 → 私信:工程指南

👉 AI 算力网络架构系统视频课(真机实验环境) → 私信:系统

👉 日常工作1对1答疑 → 私信:答疑


00

给Linux 网络栈正名

凡是接触过 RDMA 的人,都会听到一句话:

RDMA 绕过 Linux 内核协议栈,直接在网卡和用户态之间搬数据。

这句话确实没错。

但如果只记住这一句,就很容易走向另一个误区:

既然 RDMA 绕过 Linux 网络栈,那 Linux 网络栈是不是就不重要了?

恰恰相反。

在真实 AI 集群里,尤其是 RoCE 场景下,Linux 网络栈虽然不再负责每一个数据包的传统 TCP/IP 转发路径,但它依然深度参与:

所以更准确的说法应该是:

RDMA 数据面可以绕过 Linux 网络栈。但 RDMA 控制面、路径选择、QoS 入口,离不开 Linux 网络栈。

01

不是“不要 Linux 网络栈”,而是“数据搬运绕过传统协议栈”

如果只把 RDMA 理解成:

数据不走内核,所以 Linux 网络栈没用了。

这肯定是不准确的。

RDMA 真正绕过的是传统数据搬运路径中的很多内核参与:

这就是 RDMA 高性能的关键。

但在 RoCE 里,数据包本身依然是以太网 / IP / UDP / RoCEv2 形式在网络里跑。它依然需要:

这些东西从哪里来?

很多都来自 Linux 网络栈和 RDMA 子系统之间的配合。

所以一句话总结:

RDMA 绕过的是“传统数据路径”,不是绕过整台 Linux 主机的网络控制体系。

这个结论很重要。否则你会在排障时犯一个典型错误:

只盯 RDMA 工具,不看 Linux 网络配置。

结果发现:

最后才发现,根因还在 Linux 网络侧。

02

Linux 网络栈第一角色:提供“地址与路径语义”

RDMA 要通信,首先要知道:

对端是谁?从本机哪张网卡出去?走哪条路?

在 RoCE 场景下,这就绕不开 Linux 网络栈。

因为 RoCEv2 本质上跑在 UDP/IP 之上。它需要 IP 地址作为路径语义。

所以你配置的:

都会影响 RDMA 最终怎么走。

1)为什么 IP 地址对 RoCE 很关键?

很多人以为 RDMA 只认 HCA,不认 IP。这在 InfiniBand 场景里很好理解。

但 RoCEv2 不一样。

RoCEv2 的 GID 往往和 IP 地址存在对应关系。你在网卡上配置的 IP,会影响 GID 表项。

如果 IP 配错、接口没 up、VLAN 不对、GID index 选错,RDMA 通信就可能:

所以在 RoCE 里,Linux 网络配置不是装饰。

它直接参与 RDMA 地址选择。

2)为什么路由也很关键?

假设一台 GPU 服务器有 8 张 RoCE 网卡。

你希望:

如果 Linux 路由没有写对,会发生什么?

最常见的结果是:8 张网卡,实际只从一张出去。

或者更麻烦:

所以多轨 RoCE 里,Linux 路由和策略路由非常关键。

3)用一句话总结

RoCE 的数据面可以绕过内核搬数据,但“从哪张网卡出去、用哪个源 IP、匹配哪个 GID”,仍然离不开 Linux 网络栈。

03

Linux 网络栈第二角色:帮助 RDMA 完成建连

RDMA 通信不是一开始就能直接把数据扔到对端内存里。

它要先建立连接关系。

典型信息包括:

在 RoCE 里,如果使用 RDMA CM 建连,它会用到 Linux 网络栈提供的 IP 路由能力来解析路径。

这就是很多人容易混淆的点:

RDMA 数据传输不走传统 socket 数据面。但 RDMA 建联和路径解析,可能仍然依赖 Linux 的 IP / 路由语义。

1)为什么 ib_write_bw 有时加 -R 行为会不同?

很多人在 perftest 里会遇到类似现象:

这里的 -R 通常表示使用 RDMA CM。

一旦使用 RDMA CM,路径解析就更依赖 IP / 路由 / 源地址选择。

如果你的策略路由不对,或者源地址与目标路径不一致,现象就可能非常诡异。

这时候问题不一定在 RDMA 本身。可能在:

2)为什么这对 NCCL 也重要?

NCCL 在建立跨节点通信时,也需要发现和选择可用网络接口。

它会根据:

来决定最终使用哪些路径。

如果 Linux 网络层把接口、地址、路由搞乱,NCCL 看到的世界也会乱。

所以你会看到:

这不是 NCCL “玄学”。

很多时候,是 Linux 网络语义没有对齐。

3)用一句话总结

RDMA 的数据传输可以不靠 Linux TCP/IP 数据面,但 RDMA 的建连、寻路、接口选择,仍然会被 Linux 网络栈深刻影响。

04

Linux 网络栈第三角色:决定 RoCE QoS 的入口标签

在 RoCE 网络里,QoS 非常关键。

尤其是 AI 训练和推理场景:

这时候,Linux 网络栈又开始扮演一个很重要的角色:

给流量打上正确的分类标签。

1)DSCP / ToS 从哪里来?

RoCEv2 是 IP 包。IP 头里有 ToS / Traffic Class 字段。

其中:

如果主机侧没有设置 DSCP,交换机就很难知道:

这个包是不是 RDMA 业务?它该进哪个 priority / TC?它该不该进入 lossless / ECN 队列?

所以,Linux 主机侧是否正确设置 ToS / DSCP,会影响整个 RoCE QoS 链条。

2)为什么 ECN 位也重要?

如果包不是 ECT,交换机即使看到拥塞,也不能把它标成 CE。

那 DCQCN 这条链就断了:

所以 RoCE QoS 不是只靠交换机。

服务器侧发出去的包,必须具备正确的标签和 ECN 能力。

3)Linux 网络栈在这里的意义是什么?

它提供了这些入口:

所以 Linux 网络栈不是在每个 RDMA 数据包上做传统转发,但它负责给这些包定义“身份”。

4)用一句话总结

在 RoCE QoS 里,Linux 网络栈不一定搬数据,但它经常决定这类数据包带着什么身份进入网络。

05

Linux 网络栈第四角色:多网卡 / 多轨网络的路径组织者

AI 训练服务器经常不是一张网卡。

而是:

这时候,Linux 网络栈的角色就更明显了。

因为多网卡不是“插上就自动均衡”。

你必须解决几个问题:

如果这一步没做好,结果很典型:

物理上是多轨,逻辑上是单轨。

1)默认路由为什么会害你?

如果一台服务器有 8 张网卡,但只有一条默认路由,Linux 可能会把大量流量都导向同一个出口。

你看到的是:

这不是多轨网络没用。

是 Linux 路由没有把多轨组织起来。

2)策略路由为什么重要?

在多 rail RoCE 中,经常需要:

这就是 ip rule 和多路由表的重要性。

它的目标不是“炫技”,而是让系统明确知道:

从这个源地址发出的流,就应该走这张网卡。

3)为什么这会影响 RDMA?

因为 RoCE 通信中源地址、GID、接口、路径是强相关的。

一旦源地址选错,可能导致:

所以多轨 RoCE 不是只配交换机。

Linux 服务器侧同样是核心。

4)用一句话总结

多轨网络能不能用起来,很大一部分取决于 Linux 是否把“多张网卡”组织成“多条确定路径”。

06

Linux 网络栈第五角色:可观测性入口

RDMA 性能问题,最后常常表现为:

很多人第一反应是看 RDMA 工具。

这是对的,但不够。

因为你还要看 Linux 网络侧的基础状态:

这些都是 Linux 网络栈和驱动提供的可观测性入口。

1)为什么不能只看 ib_write_bw?

ib_write_bw 能告诉你:

但它不一定告诉你:

所以工具要分层看。

2)常见排查链路应该怎么组织?

可以按这个顺序:

  1. Linux 接口状态ip linkethtool, MTU, speed
  2. IP / 路由 / 策略路由ip addrip routeip rule
  3. RDMA 设备状态ibv_devinfordma link, GID table
  4. QoS 状态DSCP / ECN / priority / TC / pause / CNP
  5. NCCL 层NCCL_DEBUG=INFO, HCA 选择, rail 利用率
  6. 训练 / 推理业务层step time, TTFT, token latency, GPU wait

这条链路很重要。

因为 RDMA 问题很少只属于某一层。

3)用一句话总结

RDMA 排障不能只看 RDMA。Linux 网络栈提供了地址、路径、QoS、接口状态这些关键证据。

07

为什么说 RDMA 数据面“绕过内核”,但不是“绕过 CPU 和操作系统的一切”?

RDMA 确实可以减少 CPU 在数据搬运中的参与。

但这不代表 CPU 和 OS 完全没关系。

原因有几个。

1)内存注册需要操作系统参与

RDMA 需要使用注册内存。

注册过程涉及:

这些都离不开操作系统和驱动。

2)控制路径仍然需要 CPU

QP 创建、CQ 轮询、事件处理、连接管理,这些仍然需要 CPU 参与。

只是数据 payload 的搬运不再走传统协议栈 copy 路径。

3)异常处理也离不开系统

比如:

这些都需要系统侧参与观测和处理。

4)用一句话总结

RDMA 减少的是数据搬运路径上的 CPU 和内核协议栈开销,不是让操作系统从通信系统里消失。

这很重要,否则你会误以为:

RDMA 慢了,一定是网卡或交换机问题。

不一定。

可能是:

这些仍然和 Linux 系统强相关。

08

在 AI 训练场景里,Linux 网络栈为什么会影响 NCCL 和 AllReduce?

AI 训练网络里,最终真正使用 RDMA 的往往是 NCCL。

NCCL 做的是 collective 通信,比如:

这些通信对网络非常敏感。

而 NCCL 的路径选择,会受到 Linux 网络环境影响。

1)NCCL 需要先发现接口

它会看到:

如果 Linux 网络接口命名混乱、IP 配置不一致、路由不可达,NCCL 的发现结果就会变差。

2)NCCL 多轨需要 Linux 配合

多轨不是 NCCL 单方面就能完成。

它需要:

如果 Linux 只给了一个可用路径,NCCL 不可能凭空变出 8 rail。

3)AllReduce 放大也会放大 Linux 配置问题

单流测试里,一个路由错误可能只是某条链路慢一点。

但 AllReduce 里:一个 rank 慢,所有 rank 等。

所以 Linux 网络层的小错误会被放大成:

4)用一句话总结

Linux 网络栈的地址、路由、接口、QoS 配置,最终会通过 NCCL 被放大到 AllReduce 的整体性能里。

09

在 AI 推理场景里,Linux 网络栈为什么同样重要?

推理场景看起来不像训练那样重通信。

但在 P/D 分离、KV Cache 迁移、多副本 Decode、TP 推理中,Linux 网络栈仍然很关键。

1)P/D 分离下,KV 迁移依赖路径选择

Prefill 节点生成 KV Cache,Decode 节点继续使用。

如果 Linux 多网卡路由没配好,KV 迁移可能:

这不是单纯“推理引擎”的问题。

它可能是 Linux 网络路径没组织好。

2)Decode TP 通信依赖低时延稳定路径

Decode 阶段每个 token 都要走模型。如果用了 TP,每一步仍然可能有 NCCL / RDMA 通信。

这类通信不一定流量大,但非常怕:

Linux 侧接口选择、QoS 打标、路径稳定性都会影响 Decode 的 p99。

3)推理服务的尾延迟会放大网络小问题

推理是用户在线体验。

一个小的网络抖动,可能变成:

所以推理场景下,Linux 网络栈不是“不重要”。

而是更需要稳定。

4)用一句话总结

训练把 Linux 网络问题放大成 step time,推理把 Linux 网络问题放大成 TTFT 和 p99。

10

总结

RDMA 并不是让 Linux 网络栈消失。

它只是把数据搬运从传统内核协议栈路径中拿出来,而地址、路由、QoS、建连、可观测性仍然深度依赖 Linux。

所以,Linux 网络栈在 RDMA 场景下至少扮演六个角色:

  1. 地址语义提供者
    IP、GID、接口状态
  2. 路径组织者
    路由、策略路由、多 rail
  3. 建连辅助者
    RDMA CM、源地址选择、路径解析
  4. QoS 入口控制者
    DSCP、ECN、priority / TC 映射
  5. 系统资源协作者
    内存注册、NUMA、CPU 亲和、驱动
  6. 可观测性入口
    接口、路由、统计、错误计数、NCCL 选路证据

所以真不能再简单地说:

RDMA 不走 Linux 网络栈,所以 Linux 网络配置不重要。

更准确的说法应该是:

RDMA 的数据搬运绕过传统协议栈。但 RDMA 的路径选择、QoS、控制面和排障证据,仍然离不开 Linux 网络栈。

很多 RDMA 问题,表面看起来是网卡问题、交换机问题、NCCL 问题。但往下挖,经常会回到 Linux:- IP 配错了- GID 不对- 路由不对- 策略路由没生效- MTU 不一致- DSCP 没打上- ECN 没准备好- NCCL 没看到正确接口- GPU 和 NIC 跨 NUMA所以,真正成熟的 RDMA 排障,不是跳过 Linux。恰恰相反。你要先把 Linux 这层看清楚。因为它虽然不一定在每个数据包上“搬砖”,但它决定了这些数据包:- 从哪里出发- 走哪条路- 带什么标签- 被谁接住- 出问题时你能在哪里看到证据这就是 Linux 网络栈在 RDMA 场景下真正的角色。

👉 AI 训练网络全路径拆解视频课 → 私信:AI网络

👉 AI 推理网络全路径拆解视频课 → 私信:推理

👉 AI 网络架构工程指南手册 → 私信:工程指南

👉 AI 算力网络架构系统视频课(真机实验环境) → 私信:系统

👉 日常工作1对1答疑 → 私信:答疑


如果你也在做 AI 集群架构  

欢迎关注「算力网络架构手记」  

长期拆解真实算力网络问题

最新文章

随机文章

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