当前位置:首页>Linux>为什么同一块 RDMA 网卡,在 Linux 里会有两个名字?

为什么同一块 RDMA 网卡,在 Linux 里会有两个名字?

  • 2026-07-02 16:26:39
为什么同一块 RDMA 网卡,在 Linux 里会有两个名字?

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

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

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

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


👇 试听内容


00

故事从刚开始说起

刚接触 RDMA 网卡,会被一个问题卡住:

明明是同一张网卡,为什么在 Linux 里看到的是:

ens257f0np0ens257f1np1

到了 RDMA 工具里,又变成了:

mlx5_0mlx5_1

再看 NCCL 文档,又冒出来两个变量:

NCCL_SOCKET_IFNAMENCCL_IB_HCA

一个要填 ens257f0np0一个要填 mlx5_0

这时候有点懵:

同一块 RDMA 网卡有两个名字,不是 Linux 乱了,而是你同时站在两个不同的系统视角里看它。

01

ip a 里找不到 mlx5_0

很多人排查 RDMA 问题,第一步会敲:ip a

然后看到:

ens257f0np0ens257f1np1

但是手册里写的是:

ib_write_bw -d mlx5_0

于是他开始找:

ip a | grep mlx5

结果什么都没有。

然后就慌了:

其实不是。

因为 ip a 看的是Linux 网络接口

而 mlx5_0 是RDMA verbs 设备名

它们不是同一个命名空间。

ens257f0np0 是 Linux 网络栈看到的接口。mlx5_0 是 RDMA 子系统看到的 HCA / RDMA 设备。

一个偏向 IP / Ethernet / netdev。一个偏向 RDMA / verbs / QP / HCA。

在 ip a 里找不到 mlx5_0,是正常的。在 ibv_devinfo 里找不到 ens257f0np0,也是正常的。

Linux 的可预测网络接口命名由 systemd/udev 体系管理,常见名字包括 enoensenp 等,用来替代过去容易变化的 eth0eth1 传统命名方式。

ens257f0np0 是 Linux 网络接口名,mlx5_0 是 RDMA 设备名;它们可能指向同一块物理网卡,但不是同一种名字。

02

两个名字背后,是两套“看网卡的方式”

如果把 RDMA 网卡只理解成“高级网卡”,很容易混乱。

更准确地说,它同时活在两个世界里。

第一个世界,是 Linux 网络世界

这里关心的是:

IP 地址MAC 地址MTUVLAN路由表ARPTCP/UDP网卡收发包统计

所以你用这些命令看它:

ip aip linkethtoolethtool -iip route

看到的名字通常是:

ens257f0np0enp65s0f0np0eth0

第二个世界,是 RDMA 世界

这里关心的是:

HCARDMA PortGIDLIDQPCQMRrkeyMTULink Layer

所以你用这些命令看它:

- ibv_devinfo- ibstat- ibdev2netdev- rdma link

看到的名字通常是:

mlx5_0mlx5_1mlx5_2

这不是重复。

这是分层。

Linux 网络接口负责把它当“网卡”看。RDMA 子系统负责把它当“RDMA 通信设备”看。

ibv_devinfo 这类工具就是用来显示 RDMA 设备信息的,很多发行版会把它放在 libibverbs-utils 或 ibverbs-utils 相关软件包中。

一个名字回答“这块网卡怎么走 IP”,另一个名字回答“这块 HCA 怎么跑 RDMA”。

03

为什么 RDMA 不能只用 Linux 接口名?

有人会问:

既然 Linux 已经有 ens257f0np0 了,为什么 RDMA 不直接用它?为什么还要搞一个 mlx5_0

因为 RDMA 的通信模型,不是普通 Socket 模型。

普通网络应用通常是:

应用程序 → Socket → TCP/UDP → IP → 网卡驱动 → 网卡

而 RDMA 通信更接近:

应用程序 → libibverbs / RDMA API → QP / CQ / MR → HCA → 网络

RDMA 关心的不是“我从哪个 IP 接口发包”这么简单。它还要关心:

所以,RDMA 需要自己的设备抽象。

mlx5_0 不是为了让你多记一个名字,它是为了让 RDMA 软件栈明确知道:

如果只用 ens257f0np0,它表达的是 Linux netdev。而 RDMA 需要的是 verbs 设备。

Linux 接口名解决的是“网络接口是谁”,RDMA 设备名解决的是“我要打开哪个 HCA 做零拷贝通信”。

04

RoCE 场景下

在 RoCE 里,这个问题尤其容易混乱。

因为 RoCE 本质上是 RDMA over Ethernet。

也就是说,底层链路是 Ethernet。所以它一定会有 Linux 网络接口。

你会看到:

ip aens257f0np0

你也会看到:

ibv_devinfomlx5_0

这两个都是真的。

RoCE 的数据包走 Ethernet。所以你要配置 IP、MTU、VLAN、PFC、ECN、DSCP、PCP、TC。

但是 RDMA 应用创建 QP、注册内存、选择 HCA 时,又要通过 RDMA verbs 设备,也就是 mlx5_0 这类名字。

所以在 RoCE 场景下,两个名字经常同时出现。

例如:

你要看 IP 地址,用:

ip a show ens257f0np0

你要看网卡驱动,用:

ethtool -i ens257f0np0

你要跑 RDMA 带宽测试,可能会用:

ib_write_bw -d mlx5_0 -i 1

你要看 RDMA 设备信息,用:

ibv_devinfo -d mlx5_0
要确认 mlx5_0 现在是 Ethernet 还是 InfiniBand Link Layer,可以看 ibstat 或 ibv_devinfo 的 Link Layer 字段。NVIDIA 文档也特别提醒,判断当前模式应看 Link Layer;示例里 mlx5_0 可以是 Ethernet,mlx5_1 可以是 InfiniBand,而 transport 字段不应该被简单当成端口模式判断依据。

RoCE 最容易让人混乱,因为它既要走 Ethernet 的网络接口,又要使用 RDMA 的 verbs 设备。

05

InfiniBand 场景下

如果是 Native InfiniBand,问题还会多一个角色:

ib0

很多人看到 ib0,又懵了:

这里要分清楚。

mlx5_0 是 RDMA / IB 设备。它代表 HCA 设备。Native IB 的 RDMA 通信可以直接基于 IB Fabric、LID、QP 等机制完成。

ib0 通常是 IPoIB 接口。它的作用是让你在 InfiniBand Fabric 上跑 IP。

也就是说,ib0 是:IP over InfiniBand。

它让你可以在 IB 网络上做一些 IP 相关事情,比如:

但不能把它理解成:

“没有 ib0,RDMA 数据面就完全跑不了。”

RDMA 数据面和 IPoIB 不是一回事。

这也是为什么有时候你会看到:

ibv_devinfo 能看到 mlx5_0、ibstat 显示端口 Active,但是 ip a 里没有 ib0

这不一定说明 IB 端口不能跑 RDMA。它可能只是说明你没有启用或配置 IPoIB。

IPoIB 是让 IB 网络承载 IP,不是 RDMA 数据面的本体。

06

NCCL 里为什么也有两个变量?

这个问题到了 NCCL 里,会变得更典型。

很多人看到这两个变量:

NCCL_SOCKET_IFNAMENCCL_IB_HCA

然后直接乱填。

比如:

exportNCCL_SOCKET_IFNAME=mlx5_0

或者:

exportNCCL_IB_HCA=ens257f0np0

这就容易出问题。

因为这两个变量指向的对象不是一类东西。

NCCL_SOCKET_IFNAME 指的是 IP 网络接口。它应该匹配类似 eth0ens257f0np0ib0 这样的接口名。

NCCL_IB_HCA 指的是 RDMA HCA / verbs 设备。它应该匹配类似 mlx5_0mlx5_1,或者带端口的 mlx5_0:1 这类名字。

NVIDIA NCCL 文档中,NCCL_SOCKET_IFNAME 用于指定 IP interfaces;而 NCCL_IB_HCA 用于指定 RDMA interfaces / HCA,这正好对应了我们前面说的两个命名空间。

所以要记住:

# 选择 Linux IP 接口NCCL_SOCKET_IFNAME=ens257f0np0# 选择 RDMA HCANCCL_IB_HCA=mlx5_0

当然,真实生产环境里怎么设置,要看你的拓扑、网卡数量、NCCL 版本、插件、容器网络、IB/RoCE 模式和调度方式。

但原则不会变:

一个是 socket / IP 接口。一个是 RDMA / HCA 设备。

NCCL_SOCKET_IFNAME 不是填mlx5_0,NCCL_IB_HCA 也不是填 ens257f0np0。

07

perftest 为什么也容易配错?

做 RDMA 实验时,很多人会跑:

ib_write_bwib_read_bwib_send_bw

这里也会碰到两个名字。

比如:

ib_write_bw -d mlx5_0 -i 192.168.30.102

这个命令里:

-d mlx5_0 选择的是 RDMA 设备。-i 1 选择的是 RDMA 设备的端口。后面的 192.168.30.102 通常用于两端建立测试连接、交换通信信息。

所以你会发现:

一个命令里,既出现 RDMA 设备名,又出现 IP 地址。

这很正常。

因为很多 RDMA 测试工具需要先让两端“认识彼此”:

这些信息要先交换。

交换信息这一步,经常会借助 IP 连接。真正的数据压测,再走 RDMA 数据路径。

所以你不能看到命令里有 IP 地址,就认为:

“RDMA 数据一定走 Linux TCP/IP 协议栈。”

也不能看到 -d mlx5_0,就忽略 IP 连通性。

现场常见问题就是:

RDMA 设备没选错,但 IP 控制连接不通。或者 IP 能 ping 通,但 RDMA GID / PFC / ECN / MTU / Link Layer 有问题。

结果就是:

ping 正常,RDMA 不通。或者 RDMA 设备存在,测试连不上。或者带宽跑起来了,但跑不到预期。

perftest 里出现 IP 地址,不代表 RDMA 数据面退回了 TCP/IP;它往往只是控制信息交换的一部分。

08

ibdev2netdev

既然有两个名字,最重要的是建立映射关系。

你要知道:

命令是:

ibdev2netdev

你可能会看到类似输出:

mlx5_0 port 1 ==> ens257f0np0 (Up)mlx5_1 port 1 ==> ens257f1np1 (Up)

mlx5_0 port 1 是 RDMA 世界。ens257f0np0 是 Linux 网络世界。Up 是当前接口状态。

有了这层映射,你才能继续往下查:

没有映射关系,排障就会乱。

你看 NCCL 日志里的 mlx5_0交换机同事问你是哪根线。你去服务器上看 ip a,只看到 ens257f0np0三边对不上,排障就会卡住。

RDMA 排障第一步,不是跑压测,而是把 mlx5_x、ens/enp、PCIe BDF、交换机端口对齐。

09

为什么同一张双口网卡,名字还会更多?

如果是双口 RDMA 网卡,事情会更复杂。

一张物理卡,可能有两个物理端口。

Linux 里可能看到:

ens257f0np0ens257f1np1

RDMA 里可能看到:

mlx5_0mlx5_1

也可能一个 RDMA 设备下面有多个 port。不同驱动版本、固件、系统、PCIe 拓扑、SR-IOV 配置下,展示方式可能不完全一样。

如果再叠加 SR-IOV,可能还有 VF。如果在 Kubernetes 里,可能还有容器内设备。如果是 BlueField、DPU、Representor,名字会更多。

所以生产环境里,千万不要只靠“编号顺序”来判断。

不要看到 mlx5_0,就武断认为它一定是第一张卡第一个口。不要看到 ens257f0np0,就认为它一定接了某台交换机。不要换完卡、升级驱动、重启系统后,仍然沿用旧映射。

有些发布说明也会提醒,RDMA 设备名在特定场景下可能变化,工程上应使用更可预测的命名或持久化映射方式。

现场最稳妥的做法是:

在多卡、多口、SR-IOV、容器环境里,名字只是入口,映射关系才是事实。

10

这件事和 RoCE 排障有什么关系?

RoCE 排障经常要横跨四个地方:

比如你发现训练慢了,怀疑某个 Rank 的 RDMA 通信有问题。

NCCL 日志里看到:

mlx5_2

你接下来必须知道:

如果你连 mlx5_2 和 ens... 都对不上,就谈不上后面的因果分析。

很可能会出现这种尴尬:

最后结论当然会错。

RoCE 排障不是只看服务器,也不是只看交换机,而是把 Rank、HCA、netdev、交换机端口串成一条链。

11

这件事和 InfiniBand 排障有什么关系?

如果是 Native InfiniBand,也一样重要。

只不过你看的指标不同。

RoCE 里你经常看:

InfiniBand 里你更常看:

但你仍然要先知道:

如果你只知道 Linux 里有个 ib0,但不知道它背后的 mlx5_0 port 1,排障还是会断。

尤其在训练集群里,慢 Rank 经常不是“单点坏了”那么简单。

它可能是某条 IB 路径等待 Credit。也可能是某个端口错误计数异常。也可能是路由不均衡。也可能是某个 Rail 上流量集中。

所以 IB 排障同样要做映射。

只是映射的终点从 Ethernet 交换机端口,变成了 IB Fabric 路径。

RoCE 看队列和拥塞反馈,IB 看 Credit 和 Fabric 健康;但第一步都是把 Rank 对到 HCA 和端口。

12

该怎么记忆?

凡是 IP、路由、MTU、VLAN、PFC、ECN,先看 Linux netdev 名;

凡是 QP、GID、LID、RDMA Port、NCCL_IB_HCA,先看 RDMA 设备名。

ens / enp / eth / ib0  → Linux 网络接口mlx5_0 / mlx5_1  → RDMA verbs 设备

例如:

GPU0 → NIC0 → mlx5_0 port 1 → ens257f0np0 → Leaf1 Eth1/1GPU1 → NIC1 → mlx5_1 port 1 → ens257f1np1 → Leaf2 Eth1/1

再把这些信息补上:

RDMA 网络不是从命令开始的,是从映射关系开始的。

13

敲黑板

同一块 RDMA 网卡,在 Linux 里为什么会有两个名字?

因为它同时属于两个世界。

在 Linux 网络世界里,它是一个 netdev。所以你看到 ens257f0np0enp65s0f0np0eth0ib0

在 RDMA verbs 世界里,它是一个 HCA。所以你看到 mlx5_0mlx5_1mlx5_2

这两个名字不是互相替代。而是互相补充。

你做 IP、MTU、VLAN、PFC、ECN,看 Linux 接口名。你做 RDMA、QP、GID、LID、NCCL HCA 绑定,看 RDMA 设备名。

你做训练性能排障,就必须把它们映射起来。

很多现场问题,不是网卡真的坏了。而是人把名字看乱了。

NCCL 绑错。perftest 选错。交换机端口查错。RoCE 队列对错。IB Fabric 路径对错。

最后把一个简单的命名问题,变成了复杂的性能事故。

所以,RDMA 入门第一课,不是先背 PFC、ECN、DCQCN。也不是先背 QP、CQ、MR。

而是先搞清楚:

名字对不上,排障一定乱;映射关系对上了,RDMA 问题才有入口。


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

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

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

👉 AI 算力网络架构专家(真机实验环境) → 私信:专家

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

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


如果你也在做 AI 集群架构  

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

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

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 01:03:44 HTTP/2.0 GET : https://f.mffb.com.cn/a/502786.html
  2. 运行时间 : 0.123926s [ 吞吐率:8.07req/s ] 内存消耗:4,644.98kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2c334c63c74a3a65d00c4cd0627058e7
  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.000634s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000942s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000345s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000284s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000593s ]
  6. SELECT * FROM `set` [ RunTime:0.000236s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000783s ]
  8. SELECT * FROM `article` WHERE `id` = 502786 LIMIT 1 [ RunTime:0.000543s ]
  9. UPDATE `article` SET `lasttime` = 1783011824 WHERE `id` = 502786 [ RunTime:0.022599s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000315s ]
  11. SELECT * FROM `article` WHERE `id` < 502786 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000549s ]
  12. SELECT * FROM `article` WHERE `id` > 502786 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000487s ]
  13. SELECT * FROM `article` WHERE `id` < 502786 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.009499s ]
  14. SELECT * FROM `article` WHERE `id` < 502786 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002854s ]
  15. SELECT * FROM `article` WHERE `id` < 502786 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002531s ]
0.126583s