当前位置:首页>Linux>Linux存储栈全景-VFS到块设备层

Linux存储栈全景-VFS到块设备层

  • 2026-08-18 23:10:47
Linux存储栈全景-VFS到块设备层

Linux 存储栈全景:从 VFS 到块设备层的 IO 路径解剖

前言

一个ead() 系统调用,从敲下去到数据返回,中间穿越了多少层?如果你答不上来,那你永远无法真正理解"为啥我的 MySQL 写入这么慢"或"Nginx 大文件传输为何卡住"。

本文带你走一遍 Linux 存储 IO 的完整链路:从 VFS 虚拟文件系统 → 具体文件系统 → Page Cache → 块层(Block Layer)→ I/O 调度器 → 块设备驱动 → 硬件。每层做什么、能卡在哪、怎么观测,一次讲透。

01

PART 01:七层架构全景

每一层都是延迟放大器,也都是优化切入点。我们从最上面开始一层层往下拆。

02

PART 02:VFS —— 统一江湖的抽象层

VFS(Virtual File System)是 Linux 最伟大的设计之一。它定义了文件系统必须实现的通用接口。

四个核心对象

对象
作用
对应结构体
**super_block**
已挂载文件系统的超级块
struct super_block
**inode**
文件的元数据(权限、大小、位置)
struct inode
**dentry**
目录项,维护路径到 inode 映射
struct dentry
**file**
进程打开的文件描述符状态
struct file

当你执行 open("/data/log/app.log", O_RDWR):

  1. VFS 通过 dentry cache 查找 /data/log/app.log 的目录路径
  2. 逐步解析 dentry,找到 inode
  3. 调用底层文件系统的 open 回调
  4. 返回一个 struct file 挂到进程文件表

关键观测:

`

slabtop -o | grep dentry

cat /proc/sys/fs/inode-nr

cat /proc/sys/fs/file-max

`

卡点:dentry cache 过大导致 slab 内存吃紧、路径名查找锁竞争(特别是 dcache_lock 时代,RCU 已改善)。

03

PART 03:具体文件系统 —— 数据到底存哪了

VFS 把请求分发到实际的文件系统(ext4 / xfs / btrfs / zfs)。这里才是真正决定数据组织的地方。

ext4 的 IO 路径

write() → VFS → ext4_write_begin() → ext4_reserve_space (分配物理块) → ext4_journal_start (事务开始) → ext4_write_end (数据写入页缓存) → ext4_journal_stop (事务提交) → 等待日志写入 Journal (JBD2) → 数据最终回写到 inode 指向的数据块

延迟关键点

1. 日志(Journal)写入

ext4 data=ordered 模式下,元数据先写日志再写磁盘。日志本身是顺序 IO,看似快,但 fsync 时 必须等待日志落盘,这就是 PostgreSQL 常说"ext4 barrier 问题"的来源。

`

tune2fs -l /dev/sda1 | grep -i journal

mount -o data=writeback /dev/sda1 /data

`

2. 分配器碎片

ext4 使用 extents 树(B+树变体),大文件连续分配没问题,但小文件长期写入导致 extent 分裂,IO 路径变长。

不同文件系统的 IO 路径对比

环节
ext4
xfs
btrfs
zfs
元数据日志
JBD2 独立日志
日志区固定分配
CoW 无需日志
ZIL + intent log
空间分配
mballoc
延迟分配 + 块组
树状分配
虚拟设备层
延迟分配
支持
**原生优势**
支持
支持
CoW
是(默认)
适合场景
通用、成熟
大文件、高并发
快照、校验
数据安全、大规模

04

PART 04:Page Cache —— 被忽略的性能放大器

是什么

Linux 会把读到的磁盘数据缓存在内存中,这个区域叫 Page Cache,以 4KB 页为基本单位。

三个最关键的参数

`

/proc/sys/vm/dirty_ratio # 默认 20(%),脏页占内存比例达到此值阻塞写入进程

/proc/sys/vm/dirty_background_ratio # 默认 10(%),后台 pdflush 开始回写

/proc/sys/vm/dirty_expire_centisecs # 默认 3000(30s),脏页最大存活时间

`

血泪教训:Page Cache 导致的 MySQL 双写缓冲

很多 MySQL DBA 会发现:明明数据库有 Buffer Pool,磁盘写入还是慢。原因之一是 Page Cache 的写回机制造成了额外的 IO

MySQL 通过 innodb_flush_method=O_DIRECT 跳过 Page Cache(直接写入磁盘),但这又把压力扔给了磁盘——需要数据库自身的 Buffer Pool 足够大。

更推荐的折中:innodb_flush_method=O_DIRECT_NO_FSYNC(MySQL 8.0+ 支持)

观测命令:

`

grep -E "^Cached|^Buffers" /proc/meminfo

cat /proc/vmstat | grep dirty

sync

`

05

PART 05:Block Layer —— 通用块层

Page Cache 下层就是 通用块层(Generic Block Layer)。它负责:

  1. 将文件系统发来的 bio(Block IO 请求)合并与排序
  2. 抽象出统一的块设备接口(不关心底下是 SSD 还是 HDD)
  3. 传递给 I/O 调度器

Plugging —— 内核态小批量合并

write() → 页缓存 → 生成 bio → 加入当前 CPU 的 plug list → schedule() 或特意 unplug 时 → bio 合并、排序 → 提交给调度器

这个机制减少了调度器的调用次数,是 Linux 内核 IO 高性能的关键设计之一。

06

PART 06:I/O 调度器 —— 把乱序变成有序

I/O 调度器决定 BIO 的下发顺序。历史上 Linux 有多个调度器:

六种调度器对比

调度器
内核版本
核心算法
适合场景
特点
**Noop**
2.6+
FIFO + 简单合并
纯 NVMe SSD
延迟最低,依赖硬件做排序
**Deadline**
2.6+
按截止时间排序
混合负载
保证读请求不饿死,分读写队列
**CFQ**
2.6+
时间片分配
HDD、桌面
公平但吞吐低,已废弃
**mq-deadline**
4.x+
多队列版 Deadline
NVMe 多队列
现代标配
**BFQ**
5.x+
权重预算分配
交互式、桌面
延迟极小,但 CPU 开销高
**Kyber**
4.x+
基于延迟的闭环控制
云环境
自适应,无需调参

NVMe 时代的选择

从内核 5.0 起,多队列块层(blk-mq)已成为默认:

`

cat /sys/block/nvme0n1/queue/scheduler

echo none > /sys/block/nvme0n1/queue/scheduler

`

核心结论:NVMe SSD → none;SATA SSD → mq-deadline;HDD → BFQ 或 mq-deadline

07

PART 07:块设备驱动与硬件

NVMe 协议 vs 传统 SATA

传统 SATA(AHCI)是单队列模型,锁竞争严重。NVMe 支持 64K 队列对,每个 CPU 可独占队列,无锁设计、中断聚合。NVMe 把 IOPS 从 SATA SSD 的 ~10 万推到百万级,瓶颈从硬件转移到内核栈本身——这也是 io_uring、SPDK 应运而生的原因。

08

PART 08:完整 IO 路径延迟拆解

以 NVMe SSD 写 4KB 数据为例:

阶段
延迟(约)
累计
可优化空间
系统调用上下文切换
~100ns
0.1us
syscall 减少
VFS 权限检查
~200ns
0.3us
无(安全必须)
dentry/inode 查找
~500ns
0.8us
dentry cache 命中率
ext4 分配 + 日志
~3us
3.8us
延迟分配、日志模式
Page Cache 写入
~200ns
4.0us
无(内存操作)
调度器排队
~2us
6.0us
调度器选择
NVMe 驱动 PCIe DMA
~7us
13us
硬件升级
NAND 闪存写入
~30us
**43us**
硬件升级

总共约 43us,其中真正的物理写入占 70%。优化空间主要在前三段软件栈。

09

PART 09:全链路排查工具箱

分层
工具
观测内容
VFS / 文件系统
strace -e trace=read,write,open,fsync
系统调用耗时
文件系统
iostat -x 1
await、svctm、%util
Page Cache
/proc/meminfo
Cached、Dirty、Writeback
I/O 调度器
/sys/block/*/queue/scheduler
调度器类型与参数
Block 层
lktrace -d /dev/sda -o -
blkparse
每阶段延迟拆分
驱动 / 硬件

vme-cli list / smartctl

 设备健康、温度、队列数 

最常用的三板斧

  1. 定位 IO 是否在等盘:iostat -x 1,r_await > 10ms 说明盘在忙
  2. 看 Page Cache 刷盘压力:cat /proc/meminfo | grep -E "Dirty|Writeback"
  3. 看调度器队列深度:cat /sys/block/nvme0n1/queue/nr_requests

`

总结

APP → VFS → 具体 FS → Page Cache → Block Layer → I/O Scheduler → 驱动 → 磁盘

每一层都有观测工具,每一层都有调优空间。不懂全景,调优就是瞎蒙。

下一篇我们进入 文件系统选型对决,用实测数据对比 xfs/ext4/btrfs/zfs 在不同场景下的真实表现。

预告:《文件系统选型对决:XFS vs ext4 vs Btrfs vs ZFS 性能与场景深度对比》

END

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 20:55:24 HTTP/2.0 GET : https://f.mffb.com.cn/a/505982.html
  2. 运行时间 : 0.197797s [ 吞吐率:5.06req/s ] 内存消耗:4,497.40kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=89374b11a0cea8267e0eaef7f44bb10c
  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.000624s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000742s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000300s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000275s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000462s ]
  6. SELECT * FROM `set` [ RunTime:0.000194s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000546s ]
  8. SELECT * FROM `article` WHERE `id` = 505982 LIMIT 1 [ RunTime:0.000361s ]
  9. UPDATE `article` SET `lasttime` = 1787316924 WHERE `id` = 505982 [ RunTime:0.005788s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000244s ]
  11. SELECT * FROM `article` WHERE `id` < 505982 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000410s ]
  12. SELECT * FROM `article` WHERE `id` > 505982 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003938s ]
  13. SELECT * FROM `article` WHERE `id` < 505982 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.015987s ]
  14. SELECT * FROM `article` WHERE `id` < 505982 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007884s ]
  15. SELECT * FROM `article` WHERE `id` < 505982 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005138s ]
0.199276s