当前位置:首页>Linux>Linux SR-IOV 机制解析:从虚拟化共享到硬件直通实现

Linux SR-IOV 机制解析:从虚拟化共享到硬件直通实现

  • 2026-06-28 21:57:30
Linux SR-IOV 机制解析:从虚拟化共享到硬件直通实现

看个框架图,有问题还是在群里或者评论区讨论

第一章 SR-IOV 产生背景

1.1 为什么需要 SR-IOV

在传统虚拟化环境中,虚拟机访问网卡、存储控制器等 PCIe 设备时通常需要经过 Hypervisor 转发。以网络设备为例,虚拟机发送的数据包首先进入虚拟网卡驱动,然后经过 VirtIO、vhost 或软件交换机,最后由宿主机物理网卡发送出去。整个过程中数据需要经过多次上下文切换、内存复制以及软件协议栈处理,这些额外开销在普通业务场景下问题不大,但对于高吞吐、低延迟业务而言会成为明显瓶颈。

随着云计算和数据中心规模不断扩大,越来越多应用开始要求接近物理机的网络性能。例如数据库集群、分布式存储、高频交易以及 HPC 计算环境,往往需要数十 Gbps 甚至数百 Gbps 网络带宽。传统 VirtIO 模式下,CPU 大量时间消耗在虚拟化转发路径中,而不是业务处理本身。为了解决这一问题,PCI-SIG 推出了 SR-IOV(Single Root I/O Virtualization)规范,允许单个物理 PCIe 设备直接向多个虚拟机提供独立硬件功能,从而减少 Hypervisor 干预并提升 I/O 性能。

1.2 SR-IOV 的核心思想

SR-IOV 的核心目标是让一个物理设备同时表现为多个独立 PCIe 设备。对于虚拟机而言,它看到的是一个真实 PCI 设备,可以直接加载驱动并访问硬件资源,而不需要经过 VirtIO 或软件模拟层。这样虚拟机与硬件之间建立了更加直接的数据通路,大幅降低虚拟化开销,传统虚拟化路径如下:

VM │ ▼VirtIO Driver │ ▼Hypervisor │ ▼Physical NIC

SR-IOV 路径:

VM │ ▼Virtual Function │ ▼Physical NIC

这里的数据路径明显缩短,CPU 参与度降低,因此网络延迟和吞吐量都能得到显著改善。这也是 SR-IOV 在云计算平台中被广泛采用的重要原因。

第二章 PF 与 VF 架构

2.1 什么是 Physical Function

SR-IOV 设备启动后,首先会出现一个 Physical Function(PF)。PF 是真实物理设备对应的 PCI 功能,拥有完整配置能力和管理权限。宿主机加载 PF 驱动后,可以配置设备参数、创建 VF、管理队列资源以及控制硬件运行状态。因此 PF 更像是整个设备的管理入口,以 Intel 网卡为例:

0000:01:00.0 通常就是 PF 设备

查看设备信息:lspci输出可能如下:

01:00.0 Ethernet controller:Intel XXV710

PF 驱动负责与硬件直接交互,同时为后续 VF 创建提供资源支持。没有 PF 的存在,VF 无法单独运行,因此 PF 是整个 SR-IOV 架构的核心管理节点。

2.2 什么是 Virtual Function

VF(Virtual Function)是 SR-IOV 创建出来的虚拟 PCI 功能。每个 VF 都拥有独立 PCI 配置空间、中断资源以及 DMA 能力,因此在操作系统看来就是一个真实 PCI 设备。

例如 PF 创建 8 个 VF:

echo 8 > /sys/class/net/eth0/device/sriov_numvfs

随后系统中可能出现:

01:00.1 VF001:00.2 VF101:00.3 VF2...01:00.8 VF7

这些 VF 可以分别分配给不同虚拟机使用。虽然它们共享同一块物理网卡,但每个 VF 都拥有独立 MAC 地址、队列和 DMA 通道,因此虚拟机能够直接访问硬件,而无需经过软件模拟层。

第三章 SR-IOV 硬件实现机制

3.1 PCIe 配置空间扩展

SR-IOV 并不是 Linux 特有功能,而是 PCIe 标准的一部分。支持 SR-IOV 的设备会在 PCIe Extended Capability 中提供专门的 SR-IOV Capability。操作系统通过读取该能力结构获取 VF 数量、VF BAR 地址以及资源映射信息,PCI 配置空间中包含如下信息:

SR-IOV Capability    │    ├─ Total VFs    ├─ Initial VFs    ├─ VF Offset    ├─ VF Stride    └─ VF BAR

Linux PCI 子系统初始化设备时会解析这些配置项,从而确定设备是否支持 SR-IOV 以及能够创建多少个 VF。整个过程由 PCI 核心代码自动完成,驱动只需要实现对应回调接口即可。

3.2 VF 为什么能够直接 DMA

SR-IOV 性能提升的关键在于 VF 具备独立 DMA 能力。传统 VirtIO 模式下,DMA 操作由宿主机驱动完成;而 VF 被分配给虚拟机后,虚拟机驱动可以直接配置 DMA 描述符,数据无需经过 Hypervisor 中转,数据路径:

VM Memory     │     ▼VF DMA Engine     │     ▼NIC Hardware

为了保证安全性,系统通常配合 IOMMU 使用。IOMMU 会限制 VF 只能访问分配给当前虚拟机的内存区域,防止 DMA 越界访问其他虚拟机数据。因此 SR-IOV 能够实现高性能直通,同时保持虚拟化环境的隔离能力。

第四章 Linux 中的 SR-IOV 实现

4.1 PCI 子系统如何创建 VF

Linux PCI 核心提供了统一 SR-IOV 框架。当驱动调用 pci_enable_sriov() 时,PCI 子系统会根据设备 Capability 自动创建 VF,典型代码:

ret = pci_enable_sriov(pdev, num_vfs);

调用链大致:

Driver   │   ▼pci_enable_sriov()   │   ▼sriov_enable()   │   ▼Create VF Devices

VF 创建完成后,每个 VF 都会作为独立 PCI 设备注册到系统中。此时可以通过 lspci 查看新增设备,并为其绑定驱动或分配给虚拟机。

4.2 sysfs 接口管理 VF

Linux 提供了统一 sysfs 接口管理 VF:

cat /sys/class/net/eth0/device/sriov_totalvfs

查看最大支持数量:64

创建 VF:echo 8 > /sys/class/net/eth0/device/sriov_numvfs

删除 VF:echo 0 > /sys/class/net/eth0/device/sriov_numvfs

这种设计使管理员无需修改驱动即可动态调整 VF 数量,非常适合云平台资源管理。OpenStack、Kubernetes SR-IOV Network Operator 等方案底层都依赖这些 sysfs 接口完成 VF 生命周期管理。

第五章 SR-IOV 与虚拟机直通

5.1 VF 如何分配给虚拟机

VF 创建后,通常会绑定 vfio-pci 驱动,再交给 QEMU 使用。绑定方式如下:

echo vfio-pci > /sys/bus/pci/devices/.../driver_override随后:virsh attach-device或者:qemu -device vfio-pci,...

此时 VF 会从宿主机解绑,并映射到目标虚拟机。对于虚拟机而言,这就是一个真实 PCI 网卡,因此可以直接加载厂商驱动进行使用,整个过程:

PF │ ├─ VF0 → VM1 ├─ VF1 → VM2 ├─ VF2 → VM3 └─ VF3 → VM4

多个虚拟机共享同一物理网卡,但互相隔离,各自拥有独立数据通路。

5.2 为什么 SR-IOV 性能接近裸机

VirtIO 路径中,大量 CPU 时间消耗在虚拟化层。而 SR-IOV 允许数据直接从虚拟机进入硬件队列,减少上下文切换和软件转发开销,性能路径对比:

VirtIO:VM ↓VirtIO ↓vhost ↓Bridge ↓NICSR-IOV:VM ↓VF ↓NIC

因此 SR-IOV 网络延迟通常比 VirtIO 更低,CPU 占用率也明显下降。在 25G、40G、100G 网络环境中,这种优势尤为明显,也是现代云计算平台大量采用 SR-IOV 的重要原因。

第六章 SR-IOV 的限制与应用场景

6.1 SR-IOV 的局限性

虽然 SR-IOV 性能优秀,但并非没有代价。首先,VF 数量受硬件限制,一块网卡通常只能提供几十到上百个 VF,无法像 VirtIO 那样无限扩展。其次,VF 一旦分配给虚拟机,宿主机难以对流量进行细粒度控制,软件交换机和安全策略能力受到影响。此外,Live Migration 迁移支持较差,因为 VF 与物理硬件绑定较深,迁移过程中状态同步非常复杂。

从运维角度来看,SR-IOV 还要求硬件支持 PCIe SR-IOV 和 IOMMU。如果 BIOS 未开启 VT-d 或 AMD-Vi,VF 无法安全直通。因此部署前需要检查硬件、固件以及内核配置是否满足要求。

6.2 应用

SR-IOV 最常见应用场景包括云计算、高性能存储以及低延迟网络服务。在 OpenStack 环境中,NFV(Network Function Virtualization)广泛使用 SR-IOV 为虚拟网络设备提供接近裸机的性能;在 Ceph、NVMe-oF 等存储系统中,SR-IOV 可以降低网络协议栈开销;在金融交易系统和 HPC 集群中,则能够减少网络延迟抖动,提高业务确定性。

从整体架构看,SR-IOV 本质上是在“共享设备”和“设备直通”之间寻找平衡。它既保留了一块设备服务多个虚拟机的能力,又提供接近 PCI Passthrough 的性能表现。随着 100G、200G 网络逐渐普及,SR-IOV 已成为现代数据中心网络虚拟化的重要基础技术之一。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 04:01:13 HTTP/2.0 GET : https://f.mffb.com.cn/a/499848.html
  2. 运行时间 : 0.105198s [ 吞吐率:9.51req/s ] 内存消耗:4,695.42kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b7ecf77c2c718480b692ff5d61fb7f38
  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.000579s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000768s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000331s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000254s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000486s ]
  6. SELECT * FROM `set` [ RunTime:0.000197s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000497s ]
  8. SELECT * FROM `article` WHERE `id` = 499848 LIMIT 1 [ RunTime:0.000436s ]
  9. UPDATE `article` SET `lasttime` = 1783022473 WHERE `id` = 499848 [ RunTime:0.018619s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000369s ]
  11. SELECT * FROM `article` WHERE `id` < 499848 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000540s ]
  12. SELECT * FROM `article` WHERE `id` > 499848 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000400s ]
  13. SELECT * FROM `article` WHERE `id` < 499848 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000979s ]
  14. SELECT * FROM `article` WHERE `id` < 499848 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000866s ]
  15. SELECT * FROM `article` WHERE `id` < 499848 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008678s ]
0.106743s