当前位置:首页>Linux>Linux 文件系统详解:ext4/xfs/btrfs 与存储性能优化

Linux 文件系统详解:ext4/xfs/btrfs 与存储性能优化

  • 2026-08-18 23:10:31
Linux 文件系统详解:ext4/xfs/btrfs 与存储性能优化

一、开篇场景:深夜的磁盘告警

凌晨 2:17,你的手机突然震个不停——生产环境磁盘报警了。

「/data 分区使用率 97%,inode 耗尽!」——这是运维人最怕看到的告警之一。你 SSH 登录服务器,df -h 显示还有 50GB 空闲,但 df -i 显示 inode 使用率 100%。原来是一个日志轮转脚本出了问题,生成了上千万个 0 字节的空文件,把 inode 表撑爆了。系统无法创建任何新文件、无法写日志、无法执行临时文件操作,数据库连接池也开始报错。

更糟的是,这台服务器的根分区用的是 ext4,而隔壁团队用的 XFS 遇到了高并发写入时的性能瓶颈。还有人推荐把存储服务器迁移到 btrfs 以利用其快照和压缩功能。

问题来了:ext4、XFS、btrfs 之间到底怎么选?它们各自擅长什么场景?挂载参数怎么优化?生产环境踩过哪些坑?

这篇文章,我们从 FHS 目录标准开始,手把手带你理解 Linux 文件系统的底层原理、三大主流文件系统的差异、挂载优化技巧,以及如何用 AI 辅助磁盘故障预测。

二、核心概念讲解

知识点 1:FHS 文件系统层次标准

【概念】 FHS(Filesystem Hierarchy Standard)是 Linux 和类 Unix 系统目录结构的标准化规范,定义了哪些目录应该存在、各自存放什么类型的文件。遵循 FHS 的系统,无论发行版如何,核心目录结构都保持一致。

【原理】 FHS 将文件系统划分为三个层级:

  • 静态 vs 动态/bin、/sbin、/lib 等目录存放静态不变的二进制文件;/var、/tmp 存放动态变化的数据

  • 可共享 vs 不可共享/usr、/opt 可在网络间共享;/etc、/boot 是本地专用的

  • 多级命名空间:/(根)→ /usr /var /tmp → 更细分的子目录

【实操】 查看当前系统的 FHS 目录结构:

# 查看根目录结构$ ls -la /drwxr-xr-x   19 root root   4096 Jun  1 08:00 bin      # 用户命令(二进制)drwxr-xr-x    3 root root   4096 Jun  1 08:00 boot     # 内核和引导文件lrwxrwxrwx    1 root root     11 Jun  1 08:00 cdrom   -> media/cdromdrwxr-xr-x  118 root root   5120 Jun  1 08:00 dev      # 设备文件drwxr-xr-x  138 root root   4096 Jun  6 14:22 etc      # 系统配置文件drwxr-xr-x    4 root root   4096 Jun  1 08:00 home     # 用户家目录drwxr-xr-x   30 root root   4096 Jun  6 14:22 lib      # 共享库和内核模块drwx------    2 root root  16384 Jun  1 08:00 lost+found  # fsck 恢复目录drwxr-xr-x    4 root root   4096 Jun  1 08:00 media    # 可移动介质挂载点drwxr-xr-x    3 root root   4096 Jun  1 08:00 mnt      # 临时挂载点drwxr-xr-x    7 root root   4096 Jun  1 08:00 opt      # 第三方软件包dr-xr-xr-x  253 root root      0 Jun  1 08:00 proc     # 虚拟文件系统(进程信息)drwx------   12 root root   4096 Jun  6 23:51 root     # root 用户家目录drwxr-xr-x   40 root root   1060 Jun  6 14:22 run      # 运行时变量数据drwxr-xr-x    2 root root   4096 Jun  1 08:00 sbin     # 系统管理命令drwxr-xr-x    2 root root   4096 Jun  1 08:00 srv      # 服务数据dr-xr-xr-x   13 root root      0 Jun  1 08:00 sys      # 虚拟文件系统(内核/硬件)drwxrwxrwt   11 root root   4096 Jun  7 07:47 tmp      # 临时文件drwxr-xr-x   11 root root   4096 Jun  1 08:00 usr      # 用户程序和数据drwxr-xr-x   12 root root   4096 Jun  1 08:00 var      # 可变数据(日志、缓存)

【应用】

  • 分区规划:生产服务器建议将 /、/var、/home、/data 放在独立分区,避免某个分区写满影响全盘

  • 日志管理/var/log 单独分区,避免日志爆炸撑爆根分区

  • 容器部署:Docker 默认将数据存在 /var/lib/docker,需要关注该分区的空间

  • 目录服务/srv 用于存放 HTTP/FTP 等服务提供的数据,便于备份和权限控制

【踩坑】

  • /tmp 分区不足:很多程序依赖 /tmp 创建临时文件(如 Ansible、pytest),建议至少 2GB

  • /var/ 未分离:日志填满根分区导致系统无法启动,这是新手最常见的翻车现场

  • 误删 /lib/usr/lib:系统库文件丢失,sshd 等核心服务直接崩溃,只能用救援模式恢复

知识点 2:inode 与文件存储原理

【概念】 inode(索引节点)是 Linux 文件系统存储文件元数据的数据结构。每个文件(和目录)对应一个唯一的 inode,记录文件的权限、所有者、大小、时间戳以及数据块指针——但不存文件名。文件名存放在目录条目中,目录条目将文件名映射到 inode 编号。

【原理】 inode 结构示意图:

inode 结构(简化的 ext4 为例):┌─────────────────────────────────┐│  inode 编号(唯一标识)          │  ← 用 ls -i 查看│  文件类型(普通/目录/链接/设备等)││  权限位(rwxr-xr-x)            ││  硬链接计数                      │  ← rm 只是减少计数│  文件大小(字节)                ││  时间戳(atime/ctime/mtime)     ││  block 指针数组:││  ├─ 直接块指针(12 个)          │  ← 小文件直接定位│  ├─ 间接块指针                   ││  ├─ 二级间接块指针               ││  └─ 三级间接块指针               │  ← 大文件扩展└─────────────────────────────────┘目录条目:┌───────────────────────────────────────────┐"file1.txt" → inode 123456"report.pdf" → inode 123789"data/"      → inode 234567"config.yml" → inode 345678└───────────────────────────────────────────┘

【实操】

# 查看 inode 信息$ stat /etc/passwd  File: /etc/passwd  Size: 2890       Blocks: 8          IO Block: 4096   regular fileDevice: 802h/2050d  Inode: 786433      Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)# 查看目录条目的 inode 映射$ ls -li /etc/passwd786433 -rw-r--r-- 1 root root 2890 Jun  1 08:02 /etc/passwd# 查看文件系统的 inode 总数和使用情况$ df -i /Filesystem     Inodes  IUsed   IFree IUse% Mounted on/dev/sda2      655360 287456  367904   44% /# 排查 inode 耗尽(找到拥有最多文件的目录)$ for d in /var/log /tmp /var/spool /data; do    echo "$d: $(find $d -type f 2>/dev/null | wc -l) files"  done/var/log: 15432 files/tmp: 234 files/var/spool: 1897 files/data: 12 files

【应用】

  • 日志服务器:大量小日志文件需要关注 inode 数量,格式化时用 -N 参数加大 inode

  • 邮件队列:/var/spool/mqueue 积压时 inode 会快速耗尽

  • 容器镜像仓库:Harbor 等仓库存储大量层数据,inode 规划要留余量

  • 文件服务器:Git 仓库、Maven/NuGet 包缓存等场景,inode 消耗远大于实际数据量

【踩坑】

  • df -h 显示空闲但写不了文件:典型的「inode 耗尽」。日志轮转 Bug、Session 文件残留、临时文件未清理是元凶

  • ext4 默认 inode 大小 256 字节,如果存储大量 ACL 或扩展属性可能溢出

  • 减小 inode 比例(bytes-per-inode)会限制最大文件数量,生产环境不建议低于 8192

知识点 3:ext4 vs XFS vs btrfs 三大文件系统深度对比

【概念】 ext4、XFS、btrfs 是 Linux 生态中最主流的三种日志文件系统,各有不同的设计哲学和适用场景。

【原理】

特性ext4XFSbtrfs
设计目标通用稳定高性能大文件功能丰富新一代
最大文件系统1 EB8 EB16 EB
最大单文件16 TB9 EB16 EB
日志机制元数据日志元数据日志写时复制(CoW)
在线扩容✅ 支持✅ 支持✅ 支持
在线缩容⚠️ 需卸载❌ 不支持✅ 支持(子卷)
快照❌ 不支持❌ 不支持(需 LVM)✅ 原生快照
透明压缩❌ 不支持❌ 不支持✅ zlib/lzo/zstd
数据校验❌ 不支持✅ 元数据校验✅ 数据和元数据
去重✅ 支持
成熟度★★★★★★★★★★★★★☆☆

【实操】 创建和格式化三种文件系统:

# === ext4 创建(默认 Ubuntu 推荐)===# 格式化:加大 inode 数量(bytes-per-inode=4096 适合小文件密集场景)$ mkfs.ext4 -T small /dev/sdb1# 等价于: mkfs.ext4 -i 4096 /dev/sdb1# 查看格式化参数$ tune2fs -l /dev/sdb1 | grep -E "Inode size|Inode count|Block size"# === XFS 创建(大文件 / 高并发场景)===# 格式化:指定条带单元以对齐 RAID 阵列$ mkfs.xfs -f -d su=64k,sw=8 -l su=256k /dev/sdc1# -d su=64k,sw=8  → RAID 条带大小 64KB,8 块磁盘# -l su=256k      → 日志条带大小 256KB# === btrfs 创建(多功能场景)===# 创建带透明压缩和 RAID1 的 btrfs$ mkfs.btrfs -L data_pool -d raid1 -m raid1 /dev/sdd1 /dev/sde1# 启用 zstd 压缩挂载$ mount -o compress=zstd:3 /dev/sdd1 /data# 查看文件系统类型$ blkid /dev/sda2/dev/sda2: UUID="abc123" TYPE="ext4" PARTUUID="xyz789"$ lsblk -fNAME   FSTYPE LABEL    UUID                                 MOUNTPOINTsda2   ext4   system   abc123-...                           /sdb1   xfs    data     def456-...                           /datasdc1   btrfs  backup   ghi789-...                           /backup

【应用】

  • ext4 适合:桌面系统、通用服务器、代码仓库、日志收集(大量小文件)

  • XFS 适合:数据库存储(MySQL/PostgreSQL 数据目录)、视频编辑、大数据平台、虚拟化存储

  • btrfs 适合:NAS/存储服务器、容器镜像层、备份系统、需要快照的场景

【踩坑】

  • ext4 + 大文件:单文件超 16TB 时 ext4 无法处理,必须换 XFS

  • XFS 删除小文件慢:一次 rm -rf 删除数十万小文件可能卡死 IO,建议用 rsync --delete 替代

  • XFS 不能缩容:分区规划要一步到位,改大小只能备份重做或者靠 LVM 间接实现

  • btrfs 稳定性:虽然进步很大,但仍偶有 RAID5/6 的写漏洞(Write Hole),生产环境建议用 RAID1/10

知识点 4:挂载参数优化(性能关键)

【概念】 文件系统挂载时的 mount 选项直接影响磁盘性能和数据安全性。很多运维只会 mount /dev/sdb1 /data,却忽略了挂载参数调优这个「免费的性能提升」。

【原理】 常用的优化挂载参数:

参数作用推荐值风险说明
noatime禁止更新访问时间✅ 必加mutt/邮件可能依赖 atime
nodiratime禁止更新目录访问时间✅ 推荐极少场景需要
nobarrier跳过写屏障(提升性能)⚠️ 谨慎掉电可能损坏数据
data=orderedext4 日志模式:先写数据再提交日志✅ 默认data=writeback 更快但风险高
discardSSD 开启 TRIM⚠️ 按需频繁 discard 可能降速,用 fstrim 替代
allocsize=1mXFS 预分配大小大文件:1m小文件场景可能浪费空间
compress=zstdbtrfs 透明压缩compress=zstd:3CPU 开销 vs 空间节省的平衡
# === 生产级挂载示例 ===# ext4 生产挂载(SSD + 数据库)$ mount -t ext4 -o noatime,nodiratime,data=ordered /dev/sdb1 /data# XFS 生产挂载(大文件 + 高并发)$ mount -t xfs -o noatime,nodiratime,allocsize=1m,largeio,inode64 /dev/sdc1 /data# btrfs 生产挂载(快照 + 压缩)$ mount -t btrfs -o noatime,compress=zstd:3,space_cache=v2 /dev/sdd1 /data# 持久化到 fstab(推荐使用 UUID)$ grep data /etc/fstabUUID=abc123  /data  ext4  defaults,noatime,nodiratime,data=ordered  0  2UUID=def456  /data  xfs   defaults,noatime,nodiratime,allocsize=1m  0  2UUID=ghi789  /data  btrfs defaults,noatime,compress=zstd:3          0  2# 验证挂载参数$ mount | grep /data/dev/sdb1 on /data type ext4 (rw,noatime,nodiratime,data=ordered)

三、AI 赋能:磁盘故障预测与文件系统智能运维

AI 工具对比

工具/方案定位输入数据输出能力部署方式
LLM 脚本分析智能诊断smartctl/dmesg/df 输出分析报告+建议CLI/Prompt
smartmontools硬件监控S.M.A.R.T. 属性阈值告警守护进程
AI + Grafana时序预测磁盘使用率时序趋势预测+阈值集成
LLM Agent 巡检自动化巡检批量服务器数据巡检报告+修复方案Agent

使用场景

场景 1:磁盘故障预诊断
需求:批量检查 50 台服务器的磁盘健康状态
AI 帮助:分析 smartctl 输出,识别故障前兆属性

# 收集 S.M.A.R.T. 数据$ smartctl -A /dev/sda | grep -E "Reallocated_Sector|Current_Pending|Offline_Uncorrectable"  5 Reallocated_Sector_Ct    RAW: 45      # 已重映射扇区(>10 应关注)197 Current_Pending_Sector   RAW: 12      # 待重映射扇区(>0 即告警)198 Offline_Uncorrectable    RAW: 3       # 不可纠正错误(>0 即严重)# AI Prompt 模板"""请分析以下 S.M.A.R.T. 磁盘健康数据,判断磁盘状态并给出建议:磁盘:/dev/sda (型号: WDC WD40EFAX-68JH4N1, 使用时长: 18763 小时)关键属性:- Reallocated_Sector_Ct: 45(阈值 10)- Current_Pending_Sector: 12(阈值 0)- Offline_Uncorrectable: 3(阈值 0)- Power_On_Hours: 18763- Temperature_Celsius: 42℃
请判断:
1. 磁盘当前风险等级(紧急/警告/正常)
2. 预计还能安全使用多久
3. 建议的下一步操作
"""

场景 2:inode 使用率预测
需求:提前发现哪些分区的 inode 将在 X 天内耗尽
AI 帮助:基于时序数据做线性/多项式回归预测

场景 3:文件系统配置推荐
需求:新项目选型,不确定用哪种文件系统
AI 帮助:根据具体的 IO 特征、文件大小分布推荐最优方案

场景 4:自动生成巡检报告
需求:每天检查所有服务器的磁盘和文件系统状态
AI 帮助:聚合分析 df、smartctl、dmesg 数据,输出一键巡检报告

对比优势

维度传统方式AI 辅助提升
故障诊断时间15-30 分钟2-5 分钟5x
巡检 100 台服务器2 小时10 分钟12x
磁盘故障预测准确率基于固定阈值~60%多维度分析~85%+25%

四、命令/代码实操:文件系统全面诊断脚本

以下是一个生产可用的文件系统健康检查脚本,批量检查分区使用率、inode、磁盘健康、挂载参数:

#!/bin/bash# fs-health-check.sh - 文件系统健康检查# 用法: ./fs-health-check.sh [--alert-pct 85]ALERT=${1:-85}  # 告警阈值,默认 85%echo "========== 文件系统健康检查报告 =========="echo "检查时间: $(date)"echo ""# 1. 磁盘空间检查echo "--- 1. 磁盘空间 (阈值: ${ALERT}%) ---"df -h | awk -v alert="$ALERT" 'NR>1 {  gsub(/%/,"",$5)  if ($5 >= alert) {    printf " ⚠️  ALERT: %s 使用率 %d%%\n", $6, $5  } else {    printf " ✅  %-20s %s\n", $6, $5"%"  }}'# 2. inode 检查echo ""echo "--- 2. Inode 使用率 ---"df -i | awk 'NR>1 {  gsub(/%/,"",$5)  if ($5 >= 80) printf " ⚠️  ALERT: %s inode %d%%\n", $6, $5  else printf " ✅  %-20s %s\n", $6, $5"%"}'# 3. 挂载参数检查echo ""echo "--- 3. 挂载参数 ---"mount | grep -E "^/dev" | while read line; do  mount_point=$(echo "$line" | awk '{print $3}')  options=$(echo "$line" | awk -F'[()]' '{print $2}')  if echo "$options" | grep -q "noatime"; then    echo " ✅  $mount_point 已启用 noatime"  else    echo " ⚠️  $mount_point 未启用 noatime(建议添加)"  fidone# 4. 磁盘 S.M.A.R.T. 检查echo ""echo "--- 4. S.M.A.R.T. 磁盘健康 ---"for disk in /dev/sda /dev/sdb /dev/sdc; do  if [ -b "$disk" ]; then    sectors=$(smartctl -A "$disk" 2>/dev/null | \      awk '/Reallocated_Sector_Ct/{print $10}')    pending=$(smartctl -A "$disk" 2>/dev/null | \      awk '/Current_Pending_Sector/{print $10}')    echo " $disk: Reallocated=$sectors Pending=$pending"    [ "$sectors" -gt 10 ] && echo "  ⚠️  建议尽快更换此磁盘!"  fidoneecho ""echo "=========================================="

输出解释:

  • 磁盘空间超过阈值(默认 85%)会标 ALERT

  • inode 使用率超过 80% 会告警

  • 未启用 noatime 的挂载点会被标出

  • S.M.A.R.T. 重映射扇区超过 10 个建议换盘

注意事项: 脚本依赖 smartctl,需安装 smartmontools:apt install smartmontools -y

五、真实生产案例:电商平台存储迁移 ext4 → XFS

背景:某电商平台 MySQL 数据库服务器使用 ext4 文件系统,高峰期(双十一大促)出现严重的 IO 等待和查询超时。

问题分析

  • MySQL 数据目录 2TB,binlog + 数据文件持续写入

  • ext4 单文件最大 16TB 不是瓶颈,但并发写入性能不足

  • 数据库写入频繁触发 Journal 提交,ext4 单线程日志处理跟不上

  • 大量 InnoDB 表空间文件分散存放,ext4 的多块分配器在高并发下碎片增加

方案实施:迁移数据目录到 XFS

# 步骤 1: 停 MySQL 并备份数据$ systemctl stop mysql$ rsync -av /var/lib/mysql/ /backup/mysql_$(date +%Y%m%d)# 步骤 2: 格式化新磁盘为 XFS(对齐 RAID 条带)$ mkfs.xfs -f -d su=64k,sw=8 -l size=256m /dev/sdb1# 步骤 3: 挂载并优化参数$ mkdir -p /var/lib/mysql.new$ mount -t xfs -o noatime,nodiratime,allocsize=1m,largeio,inode64 \  /dev/sdb1 /var/lib/mysql.new# 步骤 4: 恢复数据$ rsync -av /backup/mysql_20260606/ /var/lib/mysql.new/$ chown -R mysql:mysql /var/lib/mysql.new# 步骤 5: 切换挂载点$ umount /var/lib/mysql.new$ mount -t xfs -o noatime,nodiratime,allocsize=1m,largeio,inode64 \  /dev/sdb1 /var/lib/mysql# 步骤 6: 启动 MySQL 并验证$ systemctl start mysql$ mysql -e "SHOW GLOBAL STATUS LIKE 'Innodb_data_fsyncs';"$ mysql -e "SHOW GLOBAL STATUS LIKE 'Innodb_log_waits';"

验证结果(迁移前后对比):

  • TPS(每秒事务数):从 2,800 → 4,600(提升 64%)

  • IO 等待(iowait):从 23% → 8%(降低 65%)

  • 查询平均响应时间:从 45ms → 22ms(降低 51%)

  • 大促峰值承载能力:从 8,000 QPS → 13,500 QPS

复盘总结:对于数据库这类高并发随机写入场景,XFS 的 B+ 树索引结构和并行 IO 能力碾压 ext4。迁移过程无数据丢失,切换窗口仅 15 分钟。关键成功因素是充分测试了挂载参数(尤其是 allocsize 和 stripe 对齐)。

六、避坑指南

  1. df -h 有空闲但写不了文件
    问题:磁盘有容量但无法创建新文件
    原因:inode 耗尽(df -i 查看)
    解决:格式化时加大 inode(-T small 或 -i 4096),配置日志轮转限制文件数量

  2. rm -rf 删除大量文件导致系统卡死
    问题:执行 rm -rf 后系统响应极慢
    原因:删除操作大量更新目录条目和 inode 位图,XFS 下尤其明显
    解决:用 rsync --delete 空目录法:rsync -a --delete empty_dir/ /target/

  3. ext4 日志损坏导致系统无法挂载
    问题:意外断电后文件系统无法挂载
    原因:日志写入不完整
    解决:fsck -f /dev/sda1 修复;SSD 使用 data=ordered 减少丢数据风险;考虑 UPS

  4. XFS 缩容困难
    问题:分区空间不够想从中分一部分给其他分区
    原因:XFS 不支持在线缩容(设计决定)
    解决:提前规划好分区大小;使用 LVM 间接管理;或备份重建

  5. btrfs RAID5/6 数据损坏
    问题:使用 btrfs RAID5/6 后数据校验不一致
    原因:btrfs 的 RAID5/6 实现存在 Write Hole 问题
    解决:宁可多花点磁盘换 RAID1/10;或者用 mdadm + btrfs 上层

  6. 误格式化磁盘
    问题:操作错误格式化了正在使用的磁盘
    原因:未仔细确认设备名
    解决:形成「三确认」流程——lsblk 确认 → blkid 再次确认 → 才执行 mkfs

  7. SSD 不使用 TRIM 导致性能下降
    问题:SSD 使用一段时间后写入速度越来越慢
    原因:未启用 TRIM,GC 效率低
    解决:fstrim -v / 手动执行;配置 systemd timer 每周自动 fstrim

  8. 挂载参数忘记写 noatime
    问题:服务器 CPU 持续有 5-10% 的 sys 开销
    原因:默认 atime 导致每次读取都写入 inode 时间戳
    解决:mount -o remount,noatime /data

- 完 -

感谢阅读!对您有帮助的话,点亮👍🏻❤️,关注公众号,转发给需要的朋友~ 原创转载请联系授权。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 22:33:07 HTTP/2.0 GET : https://f.mffb.com.cn/a/504584.html
  2. 运行时间 : 0.409070s [ 吞吐率:2.44req/s ] 内存消耗:4,663.98kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6dc0d993cbe7428f38cc1b9e14afba8e
  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.000987s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001858s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000724s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000688s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001246s ]
  6. SELECT * FROM `set` [ RunTime:0.000563s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001402s ]
  8. SELECT * FROM `article` WHERE `id` = 504584 LIMIT 1 [ RunTime:0.005198s ]
  9. UPDATE `article` SET `lasttime` = 1787322787 WHERE `id` = 504584 [ RunTime:0.068714s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000830s ]
  11. SELECT * FROM `article` WHERE `id` < 504584 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001921s ]
  12. SELECT * FROM `article` WHERE `id` > 504584 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001040s ]
  13. SELECT * FROM `article` WHERE `id` < 504584 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007600s ]
  14. SELECT * FROM `article` WHERE `id` < 504584 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.127040s ]
  15. SELECT * FROM `article` WHERE `id` < 504584 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.021718s ]
0.412623s