当前位置:首页>Linux>Linux 系统性能调优与监控

Linux 系统性能调优与监控

  • 2026-02-26 00:54:16
Linux 系统性能调优与监控

目录

  1. 1. 引言:为什么需要系统性能调优
  2. 2. 性能分析方法论:从猜测到数据驱动
  3. 3. perf 工具实战:内核级性能剖析
  4. 4. eBPF 与 BCC:下一代动态追踪
  5. 5. CPU 性能调优:从火焰图到调度优化
  6. 6. 内存与 I/O 优化实战
  7. 7. 生产环境最佳实践与避坑指南

1. 引言:为什么需要系统性能调优

1.1 技术背景

在现代云计算和微服务架构中,Linux 系统性能调优已成为基础设施工程师的核心技能。随着系统规模扩大和业务复杂度增加,性能问题往往隐藏在系统各个层面:从硬件中断到内核调度,从应用代码到数据库查询。

根据 Netflix 性能工程团队的经验,80% 的性能问题可以通过系统级分析定位,而非盲目优化应用代码。

1.2 本文目标

  • • 掌握 Linux 性能分析的核心方法论(USE 方法、RED 方法)
  • • 熟练使用 perf 工具进行 CPU、内存、I/O 剖析
  • • 了解 eBPF/BCC 在现代性能监控中的应用
  • • 学会从火焰图、热点函数中定位性能瓶颈
  • • 掌握生产环境的性能调优最佳实践

2. 性能分析方法论:从猜测到数据驱动

2.1 USE 方法(Utilization-Saturation-Errors)

由 Brendan Gregg 提出的 USE 方法,是系统资源分析的黄金标准:

资源类型
利用率(Utilization)
饱和度(Saturation)
错误(Errors)
CPU
CPU 使用率
运行队列长度
硬件/软件错误
内存
内存使用率
交换(swapping)
OOM 错误
磁盘 I/O
设备使用率
I/O 队列深度
磁盘错误
网络
带宽使用率
重传/丢包
网络错误

实战示例:检查 CPU 饱和度

# 查看运行队列长度(r)和不可中断睡眠进程(b)$ vmstat 1 5procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 2  0      0 2345678 123456 5678900    0    0     0     0  234  567  5  2 93  0  0 3  0      0 2345600 123456 5678900    0    0     0    12  456  890 15  5 80  0  0# 解读:r 列 > CPU 核心数表示 CPU 饱和# 本例中 r=2-3,若系统有 4 核,则 CPU 未饱和

2.2 RED 方法(Rate-Errors-Duration)

适用于微服务和应用层性能分析:

  • • Rate: 每秒请求数
  • • Errors: 错误率
  • • Duration: 请求延迟分布

2.3 性能分析的工作流程

1. 定义目标 → 2. 选择指标 → 3. 采集数据 → 4. 分析瓶颈 → 5. 验证优化

3. perf 工具实战:内核级性能剖析

3.1 perf 简介

perf(Performance Counters for Linux)是 Linux 内核自带的性能剖析工具,位于 tools/perf 目录。它提供了一套统一的事件采样框架,支持:

  • • 硬件事件: CPU 性能监控计数器(PMCs)
  • • 软件事件: 内核计数器(上下文切换、页错误等)
  • • Tracepoints: 内核静态追踪点
  • • 动态追踪: kprobes/uprobes

3.2 快速入门:One-Liners

3.2.1 查看可用事件

# 列出所有可用事件sudo perf list# 列出调度相关 tracepointssudo perf list 'sched:*'# 列出系统调用 tracepointssudo perf list 'syscalls:*'

3.2.2 CPU 统计分析

# 对指定命令进行 CPU 计数统计sudo perf stat gzip largefile Performance counter stats for'gzip largefile':          2,456.78 msec task-clock                #    0.999 CPUs utilized             1,234      context-switches          #    0.502 K/sec                 5      cpu-migrations            #    0.002 K/sec            12,345      page-faults               #    0.005 M/sec     7,234,567,890      cycles                    #    2.945 GHz    15,678,901,234      instructions              #    2.17  insn per cycle     3,456,789,012      branches                  # 1407.123 M/sec        45,678,901      branch-misses             #    1.32% of all branches       2.457890123 seconds time elapsed       2.345678901 seconds user       0.111111111 seconds sys

关键指标解读

  • • IPC (Instructions Per Cycle): 2.17 表示每周期执行 2.17 条指令,越高越好
  • • Branch miss rate: 1.32% 表示分支预测失败率,一般应 < 5%
  • • Context switches: 上下文切换次数,过多可能导致性能下降

3.2.3 CPU Profiling:找出热点函数

# 以 99Hz 采样所有 CPU 的 on-CPU 函数(持续 10 秒)# 99Hz 避免与定时器中断冲突sudo perf record -F 99 -ag -- sleep 10# 生成报告sudo perf report# 输出示例:# Overhead  Command  Shared Object       Symbol# --------  -------  ------------------  ------------------#   32.13%     dd    [kernel.kallsyms]   [k] blk_peek_request#                   |#                   --- blk_peek_request#                       virtblk_request#                       __blk_run_queue#                      |          #                      |--98.31%-- queue_unplugged#                      |          blk_flush_plug_list

3.3 高级用法:带栈追踪的采样

3.3.1 采集火焰图数据

# 采集 30 秒的 CPU 栈追踪sudo perf record -F 99 -a -g -- sleep 30# 导出为折叠格式(用于生成火焰图)sudo perf script | ./stackcollapse-perf.pl > out.folded# 生成 SVG 火焰图$ ./flamegraph.pl out.folded > kernel.svg

3.3.2 分析缓存未命中

# 统计 L1 数据缓存加载和未命中sudo perf stat -e L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores ./myapp# 采样 LLC(Last Level Cache)未命中事件sudo perf record -e LLC-load-misses -c 100 -ag -- sleep 5

3.4 动态追踪:kprobes

# 添加 tcp_sendmsg 内核函数探针sudo perf probe --add tcp_sendmsg# 追踪该函数(带栈回溯)sudo perf record -e probe:tcp_sendmsg -ag -- sleep 10# 查看报告sudo perf report# 删除探针sudo perf probe --del tcp_sendmsg

3.5 Tracepoints:内核静态追踪

# 追踪所有块设备 I/O 请求sudo perf record -e block:block_rq_issue -ag -- sleep 10# 追踪调度器事件sudo perf stat -e 'sched:*' -a sleep 5# 追踪文件系统事件(ext4)sudo perf stat -e 'ext4:*' -a sleep 10# 追踪进程执行sudo perf record -e sched:sched_process_exec -a -- sleep 30

4. eBPF 与 BCC:下一代动态追踪

4.1 什么是 eBPF?

eBPF(extended Berkeley Packet Filter)是 Linux 内核的一项革命性技术,允许在内核空间运行沙盒程序,无需修改内核源码或加载内核模块。

核心优势

  • • 安全: 通过验证器确保代码不会崩溃内核
  • • 高效: JIT 编译为本地机器码,性能接近原生
  • • 灵活: 可动态挂载到内核任意位置

4.2 BCC 工具集

BCC(BPF Compiler Collection)是开源的 eBPF 工具集,提供了丰富的即用型工具:

# 安装 BCC(Ubuntu/Debian)sudo apt-get install bpfcc-tools linux-headers-$(uname -r)# 常用 BCC 工具ls /usr/share/bcc/tools/biolatency  biosnoop  biotop      bitesize    bpflistcachestat   cachetop  cpudist     cpuunclaimed  dcsnoopexecsnoop   ext4dist  ext4slower  filelife    fileslowerfunccount   funclatency  gethostlatency  hardirqs  injectkillsnoop   llcstat   mdflush     memleak     mountsnoopnetqtop     offcputime  offwaketime  oomkill   opensnooppidpersec   profile   runqlat     runqlen     slabratetopsoftirqs   stackcount  statsnoop   syncsnoop  syscounttcplife    tcpretrans  tcptop      vfsstat    wakeuptimexfsdist    xfsslower   zfsdist     zfsslower

4.3 BCC 实战案例

4.3.1 分析磁盘 I/O 延迟

# 查看磁盘 I/O 延迟分布(直方图)sudo biolatencyTracing block device I/O... Hit Ctrl-C to end.^C     usecs               : count     distribution         0 -> 1          : 0        |                                      |         2 -> 3          : 0        |                                      |         4 -> 7          : 0        |                                      |         8 -> 15         : 12       |***                                   |        16 -> 31         : 234      |*************************************|        32 -> 63         : 89       |*************                         |        64 -> 127        : 45       |******                                |       128 -> 255        : 12       |**                                    |       256 -> 511        : 3        |                                      |       512 -> 1023       : 1        |                                      |# 解读:大部分 I/O 在 16-63 usec 完成,性能良好

4.3.2 追踪文件打开

# 实时监控文件打开操作sudo opensnoopPID    COMM               FD ERR PATH1234   nginx              10   0 /var/log/nginx/access.log1234   nginx               9   0 /var/log/nginx/error.log5678   python3            12   0 /etc/passwd5678   python3            13   0 /proc/cpuinfo

4.3.3 分析 CPU 调度延迟

# 查看 CPU 运行队列延迟分布sudo runqlatTracing run queue latency... Hit Ctrl-C to end.^C     usecs               : count     distribution         0 -> 1          : 1234     |*************************************|         2 -> 3          : 567      |******************                    |         4 -> 7          : 234      |*******                               |         8 -> 15         : 89       |***                                   |        16 -> 31         : 34       |*                                     |        32 -> 63         : 12       |                                      |# 解读:大部分任务等待时间 < 1 usec,调度正常

4.3.4 分析 TCP 连接生命周期

# 追踪 TCP 连接建立和关闭sudo tcplifePID   COMM       LADDR           LPORT RADDR           RPORT TX_KB RX_KB MS1234  curl       192.168.1.100   45678 93.184.216.34   443   12    2456   23455678  python3    127.0.0.1       54321 127.0.0.1       6379   1     89     5600

4.4 编写自定义 eBPF 程序

#!/usr/bin/env python3# filetrace.py - 追踪文件读写操作from bcc import BPF# eBPF 程序bpf_text = """#include <uapi/linux/ptrace.h>#include <linux/fs.h>#include <linux/sched.h>struct data_t {    u32 pid;    u64 ts;    char comm[TASK_COMM_LEN];    char fname[256];    ssize_t size;};BPF_PERF_OUTPUT(events);int trace_vfs_read(struct pt_regs *ctx, struct file *file,                    char __user *buf, size_t count, loff_t *pos) {    struct data_t data = {};    u32 pid = bpf_get_current_pid_tgid() >> 32;    data.pid = pid;    data.ts = bpf_ktime_get_ns();    data.size = count;    bpf_get_current_comm(&data.comm, sizeof(data.comm));    bpf_probe_read_str(&data.fname, sizeof(data.fname),                        file->f_path.dentry->d_name.name);    events.perf_submit(ctx, &data, sizeof(data));    return 0;}"""# 加载 BPF 程序b = BPF(text=bpf_text)b.attach_kprobe(event="vfs_read", fn_name="trace_vfs_read")print("%-10s %-16s %-6s %-10s %s" % ("TIME(s)""COMM""PID""SIZE""FILE"))# 处理事件defprint_event(cpu, data, size):    event = b["events"].event(data)print("%-10.6f %-16s %-6d %-10d %s" % (        event.ts / 1000000000.0,        event.comm.decode('utf-8''replace'),        event.pid,        event.size,        event.fname.decode('utf-8''replace')    ))b["events"].open_perf_buffer(print_event)whileTrue:try:        b.perf_buffer_poll()except KeyboardInterrupt:        exit()

运行效果

sudo python3 filetrace.pyTIME(s)    COMM             PID    SIZE       FILE1234.567   nginx            1234   4096       access.log1234.568   python3          5678   1024       data.csv1234.569   mysqld           3456   16384      ibdata1

5. CPU 性能调优:从火焰图到调度优化

5.1 生成和分析火焰图

火焰图(Flame Graph)是可视化 CPU 使用情况的强大工具,y 轴表示调用栈深度,x 轴表示样本数量。

# 1. 安装 FlameGraph 工具$ git clone https://github.com/brendangregg/FlameGraph.gitcd FlameGraph# 2. 采集数据sudo perf record -F 99 -a -g -- sleep 60# 3. 生成火焰图sudo perf script | ./stackcollapse-perf.pl > out.folded$ ./flamegraph.pl out.folded > cpu_flamegraph.svg# 4. 在浏览器中打开 SVG 文件查看$ firefox cpu_flamegraph.svg

火焰图解读

  • • 顶部宽条: 表示消耗 CPU 时间最多的函数,优化优先级最高
  • • 调用栈: 从下往上表示调用关系
  • • 颜色: 不同颜色无特殊含义,仅用于区分

5.2 CPU 调度调优

5.2.1 查看调度延迟

# 使用 perf sched 分析调度延迟sudo perf sched record -- sleep 10sudo perf sched latency

5.2.2 调整调度器参数

# 查看当前调度器设置cat /proc/sys/kernel/sched*# 调整 CPU 亲和力(affinity)$ taskset -c 0-3 ./high_priority_app# 使用 nice 调整进程优先级nice -n -10 ./cpu_intensive_app    # 高优先级nice -n 10 ./background_task       # 低优先级# 使用 chrt 设置实时调度策略sudo chrt -f 99 ./realtime_app     # FIFO 实时调度,优先级 99

5.3 中断优化

# 查看中断分布cat /proc/interrupts# 查看软中断统计cat /proc/softirqs# 使用 BCC 分析硬中断sudo hardirqssudo hardirqs 5 3    # 5 秒采样,输出 3 次

6. 内存与 I/O 优化实战

6.1 内存分析

6.1.1 使用 perf kmem 分析内核内存

# 记录内核内存分配sudo perf kmem record -- sleep 30# 生成统计报告sudo perf kmem stat

6.1.2 使用 BCC 检测内存泄漏

# 监控内存分配和释放sudo memleak -p $(pgrep myapp)# 或跟踪内核内存泄漏sudo memleak

6.1.3 页面缓存分析

# 使用 cachestat 监控页面缓存命中率sudo cachestat    HITS   MISSES  DIRTIES HITRATIO   BUFFERS_MB  CACHED_MB    1234      123       45   90.92%          234       5678    2345      234       67   90.92%          234       5678# 清理页面缓存(谨慎使用)sudosync && echo 3 | sudotee /proc/sys/vm/drop_caches

6.2 I/O 优化

6.2.1 使用 iostat 分析磁盘 I/O

# 实时显示磁盘 I/O 统计(每 2 秒)$ iostat -xz 2# 关键指标:# - %util: 设备利用率,> 60% 表示饱和# - await: 平均 I/O 等待时间(ms)# - svctm: 平均服务时间(ms)# - avgqu-sz: 平均队列长度

6.2.2 使用 BCC 深入分析 I/O

# 分析 I/O 延迟分布sudo biolatency -D# 跟踪每个 I/O 请求sudo biosnoop# 查看 I/O 热点进程sudo biotop

6.2.3 I/O 调度器选择

# 查看当前 I/O 调度器cat /sys/block/sda/queue/scheduler[mq-deadline] kyber bfq none# 临时切换调度器echo bfq | sudotee /sys/block/sda/queue/scheduler# 永久修改(添加到 /etc/default/grub)GRUB_CMDLINE_LINUX_DEFAULT="elevator=bfq"

调度器选择建议

  • • mq-deadline: 默认,适合大多数场景,提供良好的延迟和吞吐量平衡
  • • bfq: 适合桌面和交互式应用,提供最佳响应性
  • • kyber: 适合 NVMe 等高速设备
  • • none: 适合虚拟化场景(由宿主机管理 I/O)

6.3 网络 I/O 优化

# 使用 ss 查看连接状态$ ss -s# 使用 nstat 查看网络统计$ nstat# 使用 BCC 分析 TCP 重传sudo tcpretrans# 分析网络延迟sudo gethostlatency

7. 生产环境最佳实践与避坑指南

7.1 性能监控检查清单

在生产环境进行性能分析前,检查以下事项:

  • • 内核版本: perf 和 eBPF 需要 Linux 4.1+,建议使用 5.x 或更新版本
  • • 调试符号: 安装内核调试包(kernel-debuginfo)以获得完整的栈追踪
  • • 帧指针: 确保内核编译时启用了 CONFIG_FRAME_POINTER=y
  • • 权限: 性能分析通常需要 root 权限
  • • 采样频率: 避免过高的采样频率(建议 99Hz),以减少开销

7.2 常见陷阱

陷阱 1:忽略 frame pointer

# 问题:栈追踪不完整,显示 [unknown]# 解决:重新编译时添加 -fno-omit-frame-pointer$ gcc -O2 -fno-omit-frame-pointer -o myapp myapp.c

陷阱 2:perf overhead 过高

# 问题:perf record 本身消耗大量 CPU# 解决:降低采样频率,或使用 BPF 进行聚合sudo perf record -F 49 -ag -- sleep 30   # 降低频率

陷阱 3:在云环境中缺少 PMC 访问

# 问题:云实例(AWS/Azure/GCP)通常禁用性能监控计数器# 解决:使用软件事件或 tracepointssudo perf stat -e cpu-clock,cache-misses -a sleep 5

陷阱 4:eBPF 验证器限制

# 问题:复杂的 eBPF 程序被验证器拒绝# 解决:简化程序逻辑,或使用 BCC 提供的现成工具

7.3 性能调优决策树

7.4 推荐工具组合

场景
推荐工具
备注
CPU Profiling
perf + FlameGraph
通用,低开销
I/O 分析
biolatency, biosnoop
BCC 工具,实时
内存分析
perf kmem, memleak
内核/用户态内存
网络分析
tcplife, tcpretrans
连接生命周期
调度分析
runqlat, offcputime
调度延迟
应用追踪
perf probe, uprobe
函数级追踪

7.5 持续监控建议

# 使用 eBPF Exporter 将指标导出到 Prometheus# GitHub: https://github.com/cloudflare/ebpf_exporter# 关键指标告警规则示例groups:- name: linux_performance  rules:  - alert: HighCPUUtilizationexpr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80for: 5m    annotations:      summary: "High CPU utilization on {{ $labels.instance }}"  - alert: HighDiskLatencyexpr: rate(node_disk_io_time_seconds_total[5m]) > 0.8for: 5m    annotations:      summary: "High disk I/O utilization on {{ $labels.instance }}"

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 19:44:05 HTTP/2.0 GET : https://f.mffb.com.cn/a/476945.html
  2. 运行时间 : 0.086840s [ 吞吐率:11.52req/s ] 内存消耗:4,770.30kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e9f6dbd17bb5c002c551580f4f9e477e
  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.000434s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000741s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000292s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000293s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000526s ]
  6. SELECT * FROM `set` [ RunTime:0.000191s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000621s ]
  8. SELECT * FROM `article` WHERE `id` = 476945 LIMIT 1 [ RunTime:0.001201s ]
  9. UPDATE `article` SET `lasttime` = 1772279045 WHERE `id` = 476945 [ RunTime:0.000764s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000219s ]
  11. SELECT * FROM `article` WHERE `id` < 476945 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000376s ]
  12. SELECT * FROM `article` WHERE `id` > 476945 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001718s ]
  13. SELECT * FROM `article` WHERE `id` < 476945 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002132s ]
  14. SELECT * FROM `article` WHERE `id` < 476945 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002918s ]
  15. SELECT * FROM `article` WHERE `id` < 476945 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004453s ]
0.088470s