当前位置:首页>Linux>Linux 内核参数调优:sysctl 与 eBPF 智能性能诊断

Linux 内核参数调优:sysctl 与 eBPF 智能性能诊断

  • 2026-08-18 23:10:46
Linux 内核参数调优:sysctl 与 eBPF 智能性能诊断

一、开篇场景

凌晨 3 点,监控告警短信疯狂涌入——某电商平台的支付服务响应时间从正常的 200ms 飙升到 5 秒,订单成功率骤降 40%。值班工程师登录服务器,top 显示 CPU 使用率仅 30%,内存也还剩一半,iostat 显示磁盘 I/O 正常,netstat 里 TIME_WAIT 连接堆积如山——高达 28000 个,而系统的 tcp_max_tw_buckets 默认值只有 18000。

根因定位:net.core.somaxconn 默认值仅 128,SYN 队列 tcp_max_syn_backlog 只有 1024,高并发流量涌入时,新连接来不及排队就被内核直接丢弃。同时,vm.swappiness 默认 60,导致系统频繁将热数据换出到磁盘,进一步拖慢了响应。

这不是虚构的故事,而是我在多次生产故障中反复遇到的典型场景。Linux 内核参数就像系统的"神经系统",默认值是为通用场景设计的,对于高并发、低延迟的生产环境往往远远不够。而传统的排查工具——topvmstatsar——只能看到"症状",却很难精确定位内核层面的瓶颈。

今天我们要聊两件事:sysctl 内核参数调优让系统为你的业务量身定制,以及 eBPF/bpftrace——被誉为 Linux 可观测性革命的终极诊断武器。学会了这些,下次凌晨 3 点的告警,你可以在 10 分钟内定位根因,而不是对着监控数据一脸茫然。

二、核心概念讲解

知识点 1:sysctl — 内核参数的"遥控器"

【概念】sysctl 是 Linux 内核提供的运行时参数管理机制,通过 /proc/sys/ 虚拟文件系统暴露 500+ 个可调参数。管理员可以在不重启、不重编译内核的前提下,动态调整内核行为——从网络 TCP 栈、虚拟内存管理策略到文件系统缓存行为。

【原理】sysctl 本质是一个内核变量注册表。每个参数以 域.子域.参数名 的层级结构组织,如 net.ipv4.tcp_tw_reuse 表示网络层 IPv4 协议栈的 TIME_WAIT 复用开关。参数按加载方式分为三类:

  • 临时修改sysctl -w key=value,立即生效但重启失效

  • 持久化:写入 /etc/sysctl.conf/etc/sysctl.d/*.conf,开机自动加载

  • proc 直接写echo value > /proc/sys/key,等价于 sysctl -w

【实操】

# 查看所有内核参数(500+ 条)sysctl -a | head -20# 查看特定参数sysctl net.core.somaxconn# 输出: net.core.somaxconn = 128(默认值太小!)# 临时修改(立即生效,重启失效)sysctl -w net.core.somaxconn=65535# 持久化修改(推荐做法)cat >> /etc/sysctl.d/99-performance.conf << 'EOF'# 网络连接优化net.core.somaxconn = 65535net.core.netdev_max_backlog = 65535net.ipv4.tcp_max_syn_backlog = 65535net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_max_tw_buckets = 200000net.ipv4.tcp_fin_timeout = 15# 内存管理优化vm.swappiness = 10vm.dirty_ratio = 15vm.dirty_background_ratio = 5# 文件描述符fs.file-max = 1000000fs.inotify.max_user_watches = 524288EOF# 重新加载所有配置sysctl --system# 验证生效sysctl net.core.somaxconn# 输出: net.core.somaxconn = 65535 ✅

【应用】

  • Web 服务器优化:Nginx/HAProxy 高并发场景,调大 somaxconn 和 backlog,避免连接队列溢出

  • 数据库调优:PostgreSQL/MySQL 调整 vm.dirty_ratio 和 vm.swappiness,减少磁盘抖动

  • 网络服务加固:开启 tcp_syncookies 防御 SYN Flood,调优 conntrack 参数

【踩坑】

⚠️ 踩坑 1:直接改 /etc/sysctl.conf 在新版 Ubuntu 中可能不生效!Ubuntu 18.04+ 使用 /etc/sysctl.d/*.conf 优先级更高,建议统一放到 /etc/sysctl.d/99-*.conf,用 sysctl --system 加载。

⚠️ 踩坑 2:盲目调大参数也会出问题。net.core.somaxconn 调到 65535 但应用层(如 Nginx 的 listen 指令)没有对应修改,实际队列长度仍受应用层限制。内核参数要和应用配置联动调整!

知识点 2:ulimit — 进程级资源限制

【概念】ulimit 是 Linux 对单个进程可使用系统资源的硬性限制,包括打开文件数、内存大小、CPU 时间、栈空间等。它是内核 PAM 认证框架的一部分,通过 /etc/security/limits.conf/etc/systemd/system/*.conf 控制。

【原理】ulimit 分为 软限制(soft limit,当前会话生效,可临时突破到硬限制)和 硬限制(hard limit,只能 root 修改,需要重新登录生效)。最常调整的是 nofile(最大打开文件描述符数),因为每个 TCP 连接、每个文件、每个管道都占用一个 fd。

【实操】

# 查看当前限制ulimit -n# 输出: 1024(默认值,对高并发服务远远不够)# 临时修改(仅当前会话)ulimit -n 65535# 永久修改(推荐做法)cat >> /etc/security/limits.conf << 'EOF'# nobody 用户nobody      soft    nofile    65535nobody      hard    nofile    65535# nginx 用户nginx       soft    nofile    65535nginx       hard    nofile    65535# rootroot        soft    nofile    65535root        hard    nofile    65535# 核心转储(调试用)*           soft    core      0*           hard    core      unlimitedEOF# ⚠️ systemd 管理的服务需要额外配置!# 否则 limits.conf 对 systemd 启动的进程不生效mkdir -p /etc/systemd/system.conf.d/cat > /etc/systemd/system.conf.d/limits.conf << 'EOF'[Manager]DefaultLimitNOFILE=65535DefaultLimitNPROC=65535EOFsystemctl daemon-reexec# 验证(重启服务后)cat /proc/$(pgrep nginx)/limits | grep "open files"# 输出: Max open files            65535                65535               files ✅

【应用】

  • 高并发 Web 服务(Nginx/HAProxy)、消息队列(Kafka/RabbitMQ)都需要调大 nofile

  • Java 应用需要调大 max locked memory 以支持 NIO 的 DirectByteBuffer

  • 开发调试时放开 core dump 限制,生成 core 文件用于事后分析

【踩坑】

⚠️ 踩坑:systemd 管理的服务(Ubuntu 16.04+)不再读取 /etc/security/limits.conf!这是很多老运维翻车的地方。必须在 /etc/systemd/system.conf/etc/systemd/system/<service>.service 中设置 LimitNOFILE=65535

知识点 3:eBPF — 内核可编程的"瑞士军刀"

【概念】eBPF(Extended Berkeley Packet Filter)是 Linux 内核的一个革命性技术,允许在不修改内核源码、不加载内核模块的前提下,在内核中安全地运行自定义程序。你可以把它理解为"内核里的 JavaScript"——安全沙盒执行、动态加载、实时生效。

【原理】eBPF 的工作流程:用户编写 eBPF 程序(C 语言或 bpftrace DSL)→ LLVM 编译为字节码 → 通过 bpf() 系统调用加载到内核 → 内核验证器(Verifier)做安全检查(禁止无限循环、越界访问等)→ JIT 编译为本地机器码 → 挂载到内核探针(kprobes/tracepoints/XDP)执行。整个过程毫秒级完成。

核心能力包括:动态追踪(kprobes 监控任意内核函数)、网络处理(XDP 线速包处理)、安全过滤(LSM 钩子)、性能监控(perf events)。Cilium、Falco、Pixie 等知名项目都基于 eBPF。

【实操】

# 安装 bpftrace(Ubuntu)sudo apt install -y bpftrace linux-headers-$(uname -r)# 验证内核支持uname -r  # 需要 4.9+(推荐 5.4+)# === 实例1:统计每秒系统调用次数 ===sudo bpftrace -e 'tracepoint:raw_syscalls:sys_enter {  @syscalls[comm] = count();}'# 输出示例:# @syscalls[nginx]: 45231# @syscalls[postgres]: 12403# === 实例2:追踪进程打开的文件 ===sudo bpftrace -e 'tracepoint:syscalls:sys_enter_openat/comm == "nginx"/ {  printf("PID: %d, File: %s\n", pid, str(args.filename));}'# 输出: PID: 1234, File: /var/log/nginx/access.log# === 实例3:统计 TCP 重传 ===sudo bpftrace -e 'tracepoint:tcp:tcp_retransmit_skb {  @retrans[args->saddr, args->daddr] = count();}'# Ctrl+C 后输出统计结果# === 实例4:追踪 malloc/free 检测内存泄漏 ===sudo bpftrace -e 'uprobe:libc:malloc { @allocs[pid] = count(); }uprobe:libc:free  { @frees[pid] = count(); }END { printf("malloc: %d, free: %d, leaked: %d\n",    @allocs[1], @frees[1], @allocs[1]-@frees[1]); }'

【应用】

  • 性能诊断:定位哪个函数导致延迟抖动、哪个进程在消耗 CPU

  • 网络监控:追踪 TCP 握手/重传、DNS 查询延迟

  • 安全审计:监控可疑的 execve 调用、异常网络连接

  • 容量规划:统计 malloc/free 差异检测内存泄漏

【踩坑】

⚠️ 踩坑 1:需要 root 权限(或 CAP_BPF 能力)。容器中使用需要 --privileged 或精确的 --cap-add=CAP_BPF --cap-add=CAP_PERFMON

⚠️ 踩坑 2:内核版本太低(<4.9)不支持 eBPF,Kubernetes 节点务必选 5.4+ 内核的发行版(Ubuntu 22.04 默认 5.15)。

知识点 4:bpftrace 单行脚本速查

【概念】bpftrace 是 eBPF 的高级 DSL 前端,语法类似 awk + DTrace,一行命令就能实现复杂的内核级追踪,是日常性能诊断最趁手的工具。

【原理】bpftrace 将脚本编译为 eBPF 字节码,通过 libbpf 加载到内核,支持多种探针类型:kprobe(内核函数入口)、kretprobe(内核函数返回)、tracepoint(静态跟踪点)、uprobe(用户态函数)、usdt(用户态静态跟踪点)、hardware(CPU 性能计数器)。

【实操】——常用诊断脚本:

# CPU 火焰图:查看 CPU 花在哪些函数上sudo bpftrace -e 'profile:hz:99 { @[ustack] = count(); }'# 磁盘 I/O 延迟分布sudo bpftrace -e 'tracepoint:block:block_rq_issue {  @latency[args->cmd] = hist(args->bytes / 1024);}'# 网络延迟:TCP 建立连接耗时sudo bpftrace -e 'tracepoint:sock:inet_sock_set_state/args->newstate == 1/ {  # TCP_ESTABLISHED  @connect[comm] = hist(nsecs - @start[tid]);}tracepoint:sock:inet_sock_set_state/args->newstate == 2/ {  # TCP_SYN_SENT  @start[tid] = nsecs;}'# 进程生命周期:谁 fork 了谁sudo bpftrace -e 'tracepoint:sched:sched_process_fork {  printf("Parent: %s (PID:%d) → Child: PID:%d\n",    comm, pid, args->child_pid);}'# 内存分配热点sudo bpftrace -e 'uprobe:libc:malloc /pid == target_pid/ {  @alloc[arg0] = count();}'

【应用】:在线上环境快速定位"哪个函数导致延迟飙升"、"哪个进程在疯狂 malloc"、"TCP 重传来自哪个 IP"等传统工具难以回答的问题。

【踩坑】

⚠️ 踩坑:生产环境慎用 profile:hz:999(99Hz)以上的采样率,高频探针会引入非平凡的 CPU 开销。调试完后立即 Ctrl+C 退出,不要长期挂载。

三、AI 赋能:智能内核调优与诊断

3.1 AI 工具对比

工具/方案能力适用场景上手难度
ChatGPT / Claude根据症状生成 sysctl 配置方案、解释参数含义快速查询、方案设计
字节 AI Kernel Tuner基于工作负载特征自动搜索最优参数组合大规模数据中心批量调优⭐⭐⭐
eBPF + LLM Agent采集 eBPF 数据 → LLM 推理根因 → 自动建议修复故障智能诊断⭐⭐⭐
Grafana AI Assistant基于监控指标自动分析趋势异常可观测性平台集成⭐⭐
Perplexity + 搜索搜索最新内核调优案例和 CVE研究参考

3.2 AI 使用场景

场景 1:智能参数推荐——描述你的业务特征,AI 给出定制化的 sysctl 配置:

Prompt 模板:
"我有一台 64 核 256GB 的服务器,运行 Nginx 反向代理 + PostgreSQL 14,QPS 约 5000,高并发短连接。请给出 /etc/sysctl.d/99-performance.conf 的推荐配置,每个参数解释作用和取值原因。"

场景 2:eBPF 脚本生成——不用记 bpftrace 语法,描述需求让 AI 写:

Prompt 模板:
"用 bpftrace 写一个脚本,追踪 PID 1234 的进程在内核态花费的时间最多的前 10 个函数,按耗时降序排列。"

场景 3:故障根因推理——把 eBPF 输出喂给 LLM:

Prompt 模板:
"以下是 bpftrace 追踪结果:TCP 重传集中在 10.0.1.50:5432,重传率 3.2%,同时该连接的 send buffer 满载次数为 1247/秒。请分析可能的根因和排查步骤。"

3.3 AI vs 传统方式对比

维度传统方式AI 辅助方式
参数调优凭经验 + 查文档,反复试错描述场景 → AI 给出方案 + 原理解释
故障诊断top/sar/vmstat 逐个查,可能耗时数小时eBPF 采集 + LLM 推理,10 分钟定位
脚本编写需要熟悉 bpftrace/eBPF C 语法自然语言描述 → AI 生成可执行脚本
知识更新内核版本更新后手动查文档AI 实时检索最新实践
效率提升基准平均提升 40-60%

四、命令/代码实操:一站式调优脚本

下面是一份生产可直接使用的内核参数调优脚本,根据服务器角色选择对应的配置块:

#!/bin/bash# sysctl-tuning.sh — 生产级 Linux 内核参数调优脚本# 用法: sudo bash sysctl-tuning.sh [web|db|general]ROLE=${1:-general}CONF="/etc/sysctl.d/99-${ROLE}-tuning.conf"echo "[$(date)] 应用内核调优配置: $ROLE" >> /var/log/sysctl-tuning.logcat > "$CONF" << EOF# ========== sysctl 调优配置 ($(date +%Y-%m-%d)) ==========# 角色: $ROLE | 自动生成# ---- 通用优化 ----kernel.pid_max = 4194303kernel.sched_autogroup_enabled = 0fs.file-max = 1000000fs.inotify.max_user_watches = 524288fs.inotify.max_user_instances = 1024# ---- 网络优化 ----net.core.somaxconn = 65535net.core.netdev_max_backlog = 65535net.core.rmem_max = 536870912net.core.wmem_max = 536870912net.core.rmem_default = 262144net.core.wmem_default = 262144net.ipv4.tcp_max_syn_backlog = 65535net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_max_tw_buckets = 200000net.ipv4.tcp_fin_timeout = 15net.ipv4.tcp_keepalive_time = 300net.ipv4.tcp_keepalive_intvl = 30net.ipv4.tcp_keepalive_probes = 3net.ipv4.tcp_slow_start_after_idle = 0net.ipv4.tcp_syncookies = 1net.ipv4.tcp_timestamps = 1net.ipv4.tcp_rmem = 4096 87380 536870912net.ipv4.tcp_wmem = 4096 65536 536870912net.ipv4.tcp_mtu_probing = 1net.netfilter.nf_conntrack_max = 1000000net.netfilter.nf_conntrack_buckets = 262144# ---- 内存管理 ----vm.swappiness = 10vm.dirty_ratio = 15vm.dirty_background_ratio = 5vm.overcommit_memory = 1vm.max_map_count = 262144EOF# Web 角色额外优化if [ "$ROLE" = "web" ]; then  cat >> "$CONF" << EOF# ---- Web 专项 ----net.ipv4.tcp_slow_start_after_idle = 0net.ipv4.tcp_congestion_control = bbrnet.core.default_qdisc = fqEOFfi# 数据库角色额外优化if [ "$ROLE" = "db" ]; then  cat >> "$CONF" << EOF# ---- 数据库专项 ----vm.swappiness = 1vm.dirty_ratio = 10vm.dirty_background_ratio = 3vm.overcommit_memory = 0net.ipv4.tcp_keepalive_time = 600EOFfi# 应用配置sysctl --systemecho "✅ 配置已写入 $CONF 并生效"sysctl -p "$CONF"

使用方法:

sudo bash sysctl-tuning.sh web    # Nginx/HAProxy 服务器sudo bash sysctl-tuning.sh db     # PostgreSQL/MySQL 服务器sudo bash sysctl-tuning.sh general # 通用服务器

💡 注意:调优前先备份当前配置 sysctl -a > /tmp/sysctl-backup-$(date +%Y%m%d).txt,出现问题可快速回滚。每调整一批参数后用 abwrk 做压测对比,用数据说话。

五、真实生产案例

案例背景:某金融支付平台迁移到 Kubernetes 后,网关服务出现间歇性 502 错误,错误率约 0.3%,高峰时段可达 1.2%。每个 502 背后都是一笔失败的支付交易。

排查过程:

第一步,用 bpftrace 追踪网关 Pod 的连接行为:

# 在 K8s 节点上执行sudo bpftrace -e 'tracepoint:sock:inet_sock_set_state/comm == "envoy"/ {  printf("[%s] saddr:%s:%d → daddr:%s:%d state:%d→%d\n",    strftime(%H:%M:%S, nsecs),    ntop(args->saddr), args->sport,    ntop(args->daddr), args->dport,    args->oldstate, args->newstate);}' -c <container_pid>

第二步,分析发现:上游服务的 net.core.somaxconn 在容器中仍为默认值 128,Pod 没有配置 sysctl 注入。当 QPS 突增时,Envoy 到上游的新连接被内核队列拒绝。

解决方案:

# Pod 级别注入 sysctl 参数(通过 initContainer)apiVersion: v1kind: Podmetadata:  name: gatewayspec:  initContainers:  - name: sysctl-set    image: busybox    command: ['sh', '-c', 'sysctl -w net.core.somaxconn=65535']    securityContext:      privileged: true  containers:  - name: envoy    image: envoyproxy/envoy:v1.28    securityContext:      privileged: true  # sysctl 需要 privileged

更优的方案是在 K8s PodSecurityContext 中配置(需要 Kubernetes 1.21+):

spec:  securityContext:    sysctls:    - name: net.core.somaxconn      value: "65535"

量化结果:

  • 502 错误率从 1.2% 降至 0.01%(降低 99%)

  • P99 延迟从 850ms 降至 120ms(降低 86%)

  • 高峰时段吞吐量提升 35%

  • 故障从每周 2-3 次到 零次(持续运行 3 个月)

复盘:容器化环境不能默认"宿主机调优就够了",容器继承宿主机 sysctl 的部分参数,但很多网络参数在容器命名空间内独立生效。务必检查容器内的内核参数设置。

六、避坑指南

1. 修改参数不生效

  • 原因:systemd 管理的服务不读 limits.conf;/etc/sysctl.conf 优先级低于 sysctl.d/

  • 解决:统一使用 /etc/sysctl.d/99-*.conf,systemd 服务加 LimitNOFILE

2. conntrack 表溢出导致丢包

  • 原因:net.netfilter.nf_conntrack_max 默认值太小,高并发 NAT 场景容易打满

  • 解决:调大到 1000000,同时检查是否有无效连接未被回收(dmesg | grep conntrack

3. swappiness 调到 0 后 OOM

  • 原因:swappiness=0 意味着极度倾向使用物理内存,内存不足时内核直接 OOM Kill

  • 解决:数据库服务器设为 1-5,Web 服务器设为 10-30,不要一刀切设为 0

4. eBPF 程序加载失败

  • 原因:内核版本过低(<4.9)、缺少 BTF 信息(自定义内核需 CONFIG_DEBUG_INFO_BTF)、或权限不足

  • 解决:bpftool feature probe 检查支持情况;使用官方发行版内核(Ubuntu 22.04 的 5.15 内核开箱即用)

5. bpftrace 在生产环境导致 CPU 飙升

  • 原因:高频探针(如 profile:hz:999)或过滤条件不够精确

  • 解决:先用低频采样定位范围,再缩小探针范围;调试完立即退出

6. tcp_tw_reuse=1 在 NAT 后面不生效

  • 原因:内核检测到非本地 IP 时出于安全考虑不启用复用

  • 解决:改用 tcp_max_tw_buckets 放大 TIME_WAIT 容量,或部署连接池

7. 容器 sysctl 配置被忽略

  • 原因:K8s 1.21 前不支持 Pod 级 sysctl 注入,需用 privileged initContainer

  • 解决:升级 K8s 版本或使用 initContainer 方案;建议统一通过 PSP/PodLevel 基准配置

- 完 -

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

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 16:52:46 HTTP/2.0 GET : https://f.mffb.com.cn/a/505855.html
  2. 运行时间 : 0.235279s [ 吞吐率:4.25req/s ] 内存消耗:4,623.00kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9189e0c4a9cfb179add445ae3cfc0317
  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.001260s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001889s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000738s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000754s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001399s ]
  6. SELECT * FROM `set` [ RunTime:0.000655s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001575s ]
  8. SELECT * FROM `article` WHERE `id` = 505855 LIMIT 1 [ RunTime:0.001204s ]
  9. UPDATE `article` SET `lasttime` = 1787302366 WHERE `id` = 505855 [ RunTime:0.016587s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000693s ]
  11. SELECT * FROM `article` WHERE `id` < 505855 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001492s ]
  12. SELECT * FROM `article` WHERE `id` > 505855 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001073s ]
  13. SELECT * FROM `article` WHERE `id` < 505855 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.017008s ]
  14. SELECT * FROM `article` WHERE `id` < 505855 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.018899s ]
  15. SELECT * FROM `article` WHERE `id` < 505855 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005712s ]
0.240280s