当前位置:首页>Linux>Linux 网络子系统深度解析:从协议栈到性能调优

Linux 网络子系统深度解析:从协议栈到性能调优

  • 2026-02-26 00:56:44
Linux 网络子系统深度解析:从协议栈到性能调优

目录

  1. 1. Linux 网络架构概览
  2. 2. TCP/IP 协议栈实现
  3. 3. Netfilter 与防火墙
  4. 4. 网络性能调优
  5. 5. 容器网络基础
  6. 6. 网络故障排查

1. Linux 网络架构概览

1.1 网络栈分层模型

Linux 网络栈遵循经典的分层架构:

┌─────────────────────────────────────────────────────────────┐│                      用户空间层                              ││  Application (curl/nginx/browser)                          │└─────────────────────────────────────────────────────────────┘                           ↓┌─────────────────────────────────────────────────────────────┐│                      Socket API                              ││  系统调用:socket/bind/listen/accept/send/recv             │└─────────────────────────────────────────────────────────────┘                           ↓┌─────────────────────────────────────────────────────────────┐│                      传输层                                  ││  TCP (可靠传输) / UDP (无连接) / SCTP / QUIC               │└─────────────────────────────────────────────────────────────┘                           ↓┌─────────────────────────────────────────────────────────────┐│                      网络层                                  ││  IP (IPv4/IPv6) / ICMP / ARP / NDP                         │└─────────────────────────────────────────────────────────────┘                           ↓┌─────────────────────────────────────────────────────────────┐│                      数据链路层                              ││  Ethernet / VLAN / Bridge / MAC                            │└─────────────────────────────────────────────────────────────┘                           ↓┌─────────────────────────────────────────────────────────────┐│                      物理层                                  ││  Network Interface Card (NIC)                              │└─────────────────────────────────────────────────────────────┘

1.2 数据包处理流程

发送路径:应用程序 → Socket → TCP/UDP → IP → Netfilter(POST_ROUTING) → 网卡驱动 → 硬件接收路径:硬件 → 网卡驱动 → Netfilter(PRE_ROUTING) → IP → TCP/UDP → Socket → 应用程序

内核关键数据结构:

// Socket 结构体(核心)structsocket {    socket_state      state;      // 连接状态structsock      *sk;// 协议特定结构conststructproto_ops *ops;// 操作函数表};// TCP Socket(struct sock 的 TCP 扩展)structtcp_sock {structsocksk;    u32               snd_nxt;    // 下一个发送序列号    u32               rcv_nxt;    // 下一个接收序列号    u32               snd_cwnd;   // 拥塞窗口    u32               snd_ssthresh; // 慢启动阈值// ... 更多字段};

1.3 网络命名空间

网络命名空间(Network Namespace)是 Linux 容器的基础:

# 创建网络命名空间ip netns add test-ns# 在命名空间中执行命令ip netns exec test-ns ip addr# 创建 veth 对(虚拟以太网设备)ip link add veth0 type veth peer name veth1# 将 veth1 移入命名空间ip linkset veth1 netns test-ns# 配置 IPip addr add 192.168.100.1/24 dev veth0ip netns exec test-ns ip addr add 192.168.100.2/24 dev veth1# 启动设备ip linkset veth0 upip netns exec test-ns ip linkset veth1 up# 测试连通性ping 192.168.100.2# 删除命名空间ip netns delete test-ns

2. TCP/IP 协议栈实现

2.1 TCP 三次握手与四次挥手

连接建立(三次握手):

客户端                    服务器  │      SYN(seq=x)       │  │ ────────────────────> │  │                       │  │   SYN(seq=y,ACK=x+1)  │  │ <──────────────────── │  │                       │  │      ACK(y+1)         │  │ ────────────────────> │  │                       │  [      ESTABLISHED      ]

连接关闭(四次挥手):

客户端                    服务器  │      FIN(seq=u)       │  │ ────────────────────> │  │       ACK(u+1)        │  │ <──────────────────── │  │                       │  │      FIN(seq=w)       │  │ <──────────────────── │  │       ACK(w+1)        │  │ ────────────────────> │  │                       │  [   TIME_WAIT (2MSL)    ]

内核参数调优:

# /etc/sysctl.conf# SYN 队列长度(应对 SYN Flood)net.ipv4.tcp_max_syn_backlog = 65535# 启用 SYN Cookiesnet.ipv4.tcp_syncookies = 1# TIME_WAIT 优化net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 0  # Linux 4.12+ 已废弃net.ipv4.tcp_fin_timeout = 10net.ipv4.tcp_max_tw_buckets = 2000000# 应用配置sysctl -p

2.2 TCP 拥塞控制算法

Linux 支持多种拥塞控制算法:

# 查看可用算法cat /sys/module/tcp_cubic/parameters/available_congestion_control# cubic reno bbr illinois westwood# 查看当前算法sysctl net.ipv4.tcp_congestion_control# net.ipv4.tcp_congestion_control = cubic# 临时切换为 BBRsysctl -w net.ipv4.tcp_congestion_control=bbr# 永久配置echo"net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confsysctl -p

算法对比:

算法
特点
适用场景
Cubic
默认,基于窗口增长
通用场景
BBR
基于带宽和RTT测量
高丢包网络、长距离
Reno
传统慢启动
低延迟网络
Westwood
带宽估计
无线网络

BBR 算法原理:

传统算法(Cubic/Reno):- 基于丢包判断拥塞- 高丢包率导致吞吐量下降BBR 算法:- 测量瓶颈带宽(BtlBw)- 测量最小 RTT- 发送速率 = BtlBw × (RTT / 2)- 不受丢包影响(除非丢包率 > 10%)

2.3 TCP 缓冲区优化

# /etc/sysctl.conf# 核心缓冲区net.core.rmem_default = 262144net.core.wmem_default = 262144net.core.rmem_max = 33554432net.core.wmem_max = 33554432# TCP 缓冲区(min default max,单位字节)net.ipv4.tcp_rmem = 4096 87380 33554432net.ipv4.tcp_wmem = 4096 65536 33554432# TCP 总内存限制(页数)net.ipv4.tcp_mem = 786432 1048576 1572864# 窗口缩放(高带宽延迟积网络)net.ipv4.tcp_window_scaling = 1# 启用 SACK(选择性确认)net.ipv4.tcp_sack = 1# 启用 FACK(快速确认)net.ipv4.tcp_fack = 1

缓冲区计算:

带宽延迟积(BDP)= 带宽 × RTT例如:- 带宽:1Gbps = 125MB/s- RTT:100ms = 0.1s- BDP = 125MB/s × 0.1s = 12.5MB因此 TCP 缓冲区至少需要 12.5MB

2.4 连接追踪(Conntrack)

Netfilter 的连接追踪机制:

# 查看连接追踪表cat /proc/net/nf_conntrack | head -20# 查看统计cat /proc/sys/net/netfilter/nf_conntrack_countcat /proc/sys/net/netfilter/nf_conntrack_max# 调整最大连接数echo 2000000 > /proc/sys/net/netfilter/nf_conntrack_max# 优化超时时间echo 600 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_establishedecho 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait# 查看哈希表使用情况cat /proc/sys/net/netfilter/nf_conntrack_bucketscat /sys/module/nf_conntrack/parameters/hashsize

3. Netfilter 与防火墙

3.1 Netfilter 框架与 Hooks

Netfilter 是 Linux 内核的包过滤框架:

数据包流程:        ┌─────────────────┐        │   PREROUTING    │  ← DNAT、路由前处理        └────────┬────────┘                 ↓        ┌─────────────────┐        │  Routing Decision│        └────────┬────────┘                 ↓        ┌─────────────────┐        │    FORWARD      │  ← 转发包处理        └────────┬────────┘                 ↓        ┌─────────────────┐        │   POSTROUTING   │  ← SNAT、路由后处理        └────────┬────────┘                 ↓本地发包流程:        ┌─────────────────┐        │    OUTPUT       │  ← 本地生成包        └────────┬────────┘                 ↓        ┌─────────────────┐        │   POSTROUTING   │        └─────────────────┘本地收包流程:        ┌─────────────────┐        │   PREROUTING    │        └────────┬────────┘                 ↓        ┌─────────────────┐        │      INPUT      │  ← 本地接收包        └─────────────────┘

3.2 nftables 新一代防火墙

nftables 取代了 iptables,提供更统一的接口:

# 查看当前规则nft list ruleset# 创建表(inet 同时支持 IPv4 和 IPv6)nft add table inet filter# 创建链nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }nft add chain inet filter forward { type filter hook forward priority 0 \; policy drop \; }nft add chain inet filter output { type filter hook output priority 0 \; policy accept \; }# 添加规则# 允许 loopbacknft add rule inet filter input iif lo accept# 允许已建立连接nft add rule inet filter input ct state established,related accept# 允许 SSHnft add rule inet filter input tcp dport 22 ct state new accept# 允许 HTTP/HTTPSnft add rule inet filter input tcp dport { 80, 443 } ct state new accept# 允许 ICMPnft add rule inet filter input icmp type { echo-request, echo-reply } accept# 保存规则nft list ruleset > /etc/nftables.conf# 加载规则nft -f /etc/nftables.conf

nftables 配置示例:

#!/usr/sbin/nft -f# /etc/nftables.confflush rulesettable inet filter {    chain input {type filter hook input priority 0; policy drop;# 允许 loopback        iif lo accept# 允许已建立连接        ct state established,related accept# 丢弃无效包        ct state invalid drop# 允许 ICMP        icmp type echo-request accept        icmpv6 type echo-request accept# 允许 SSH(限制速率)        tcp dport 22 ct state new limit rate 5/minute accept# 允许 HTTP/HTTPS        tcp dport { 80, 443 } ct state new accept# 记录并丢弃其他包log prefix "nftables dropped: "limit rate 5/minute        counter drop    }    chain forward {type filter hook forward priority 0; policy drop;        ct state established,related accept    }    chain output {type filter hook output priority 0; policy accept;    }}# NAT 表table ip nat {    chain prerouting {type nat hook prerouting priority 0    }    chain postrouting {type nat hook postrouting priority 100# MASQUERADE        oif eth0 masquerade    }}

3.3 iptables 迁移到 nftables

iptables
nftables
说明
iptables -A INPUT -p tcp --dport 22 -j ACCEPTnft add rule inet filter input tcp dport 22 accept
允许端口
iptables -P INPUT DROPnft add chain inet filter input { policy drop \; }
默认策略
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEnft add rule ip nat postrouting oif eth0 masquerade
NAT
iptables-savenft list ruleset
保存规则
iptables-restorenft -f /etc/nftables.conf
加载规则

3.4 流量控制(TC)

Traffic Control 用于带宽管理和 QoS:

# 查看当前 qdisc(队列规则)tc qdisc show# 添加 HTB(层次令牌桶)限速tc qdisc add dev eth0 root handle 1: htb default 12# 创建根类tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit burst 15k# 创建子类(HTTP 流量)tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 100mbit# 创建子类(其他流量)tc class add dev eth0 parent 1:1 classid 1:12 htb rate 30mbit ceil 50mbit# 使用过滤器分类流量tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \    match ip dport 80 0xffff flowid 1:10# 查看配置tc class show dev eth0tc filter show dev eth0# 删除配置tc qdisc del dev eth0 root

4. 网络性能调优

4.1 网卡优化

# 查看网卡信息ethtool eth0# 开启巨帧(Jumbo Frames)ethtool -G eth0 mtu 9000# 调整 Ring Bufferethtool -G eth0 rx 4096 tx 4096# 开启网卡多队列cat /sys/class/net/eth0/queues/rx-*/rps_cpusecho f > /sys/class/net/eth0/queues/rx-0/rps_cpus  # 启用 RPS# 开启 GRO/TSO/LROcat /sys/class/net/eth0/gro_flush_timeoutecho 3 > /sys/class/net/eth0/gro_flush_timeout

中断亲和性:

# 查看网卡中断watch -n1 'cat /proc/interrupts | grep eth0'# 绑定中断到特定 CPU# 假设 eth0-rx-0 的中断号是 101echo"2" > /proc/irq/101/smp_affinity  # 绑定到 CPU 1

4.2 内核网络参数调优

高并发服务器配置:

# /etc/sysctl.conf# ===== 连接处理 =====# SYN 队列长度net.ipv4.tcp_max_syn_backlog = 65535net.core.netdev_max_backlog = 65535net.core.somaxconn = 65535# 启用 SYN Cookiesnet.ipv4.tcp_syncookies = 1# 端口范围net.ipv4.ip_local_port_range = 1024 65535# ===== TCP 优化 =====# 拥塞控制算法net.ipv4.tcp_congestion_control = bbr# 缓冲区大小net.core.rmem_max = 134217728net.core.wmem_max = 134217728net.ipv4.tcp_rmem = 4096 87380 134217728net.ipv4.tcp_wmem = 4096 65536 134217728net.ipv4.tcp_mem = 134217728 134217728 134217728# TCP 优化选项net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_sack = 1net.ipv4.tcp_fack = 1net.ipv4.tcp_timestamps = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_no_metrics_save = 1net.ipv4.tcp_moderate_rcvbuf = 1# ===== 连接复用 =====net.ipv4.tcp_keepalive_time = 600net.ipv4.tcp_keepalive_intvl = 30net.ipv4.tcp_keepalive_probes = 3# ===== 防火墙/Conntrack =====net.netfilter.nf_conntrack_max = 2000000net.netfilter.nf_conntrack_tcp_timeout_established = 600net.netfilter.nf_conntrack_tcp_timeout_time_wait = 30# 应用配置sysctl -p

4.3 网络监控工具

# ss - Socket 统计(替代 netstat)ss -s                    # 概要统计ss -tlnp                # TCP 监听端口(显示进程)ss -tan state established | wc -l  # 统计 ESTABLISHED 连接数ss -tan state time-wait | wc -l    # 统计 TIME_WAIT 连接数# 查看连接详细信息ss -ti# nstat - 内核网络统计nstat -az | grep -E "Tcp|Udp|Ip"# sar - 系统活动报告sar -n DEV 1            # 网卡流量sar -n TCP 1            # TCP 统计# bcc-tools - eBPF 网络工具tcptop-bpfcc            # TCP 流量排名tcplife-bpfcc           # TCP 连接生命周期tcpconnect-bpfcc        # 连接追踪tcpaccept-bpfcc         # 接受连接追踪

性能指标:

指标
健康阈值
说明
网络吞吐量
接近网卡带宽
实际传输速率
PPS(包每秒)
视网卡而定
小包处理能力
连接数
< 10万/核
并发连接数
TIME_WAIT
< 2万
等待关闭连接
重传率
< 1%
TCP 重传比例

5. 容器网络基础

5.1 容器网络模式

模式
说明
使用场景
Bridge
默认,NAT 访问外网
单机容器
Host
共享宿主机网络栈
高性能要求
None
无网络
隔离环境
Container
共享另一个容器的网络
Sidecar 模式
Overlay
跨主机网络
Docker Swarm

5.2 veth 与 Bridge

# 创建 bridgeip link add br0 type bridgeip addr add 172.18.0.1/24 dev br0ip linkset br0 up# 创建 veth 对ip link add veth-host type veth peer name veth-container# 一端接 bridgeip linkset veth-host master br0ip linkset veth-host up# 另一端给容器(在容器命名空间中)ip netns add container-nsip linkset veth-container netns container-nsip netns exec container-ns ip addr add 172.18.0.2/24 dev veth-containerip netns exec container-ns ip linkset veth-container upip netns exec container-ns ip route add default via 172.18.0.1# 启用 NATiptables -t nat -A POSTROUTING -s 172.18.0.0/24 ! -o br0 -j MASQUERADE

5.3 CNI 插件

CNI(Container Network Interface)是容器网络的标准接口:

# 常见 CNI 插件# - bridge:创建 veth pair 和 bridge# - host-local:分配 IP# - flannel:Overlay 网络# - calico:BGP 路由# - cilium:eBPF 网络# CNI 配置示例(/etc/cni/net.d/10-bridge.conf){"cniVersion""0.4.0","name""mynet","type""bridge","bridge""cni0","isGateway"true,"ipMasq"true,"ipam": {"type""host-local","subnet""10.244.0.0/24","routes": [{"dst""0.0.0.0/0"}]    }}

6. 网络故障排查

6.1 常用诊断工具

# ping - 测试连通性ping -c 4 8.8.8.8# traceroute - 路由追踪traceroute 8.8.8.8mtr 8.8.8.8  # 实时追踪# tcpdump - 抓包tcpdump -i eth0 port 80tcpdump -i eth0 host 192.168.1.1tcpdump -i eth0 -w capture.pcap  # 保存到文件# Wireshark 分析# tshark - 命令行 Wiresharktshark -r capture.pcap# nmap - 端口扫描nmap -sT 192.168.1.1        # TCP 连接扫描nmap -sS 192.168.1.1        # SYN 扫描(需要 root)nmap -sU 192.168.1.1        # UDP 扫描# nc - 网络瑞士军刀nc -zv 192.168.1.1 80       # 测试端口连通性nc -l 8080                  # 监听端口nc 192.168.1.1 80           # 连接端口# iperf3 - 带宽测试# 服务端iperf3 -s# 客户端iperf3 -c server_ip -t 30iperf3 -c server_ip -u -b 1G  # UDP 测试

6.2 故障排查流程

场景 1:无法连接服务器

# 1. 检查本地网络配置ip addrip route# 2. 测试网关连通性ping <gateway_ip># 3. 测试目标连通性ping <target_ip>traceroute <target_ip># 4. 检查端口开放nc -zv <target_ip> <port>nmap <target_ip> -p <port># 5. 抓包分析tcpdump -i eth0 host <target_ip> and port <port>

场景 2:网络性能差

# 1. 检查带宽使用率iftop -i eth0nload eth0# 2. 检查丢包和错误ifconfig eth0 | grep -E "(RX|TX) (errors|dropped)"cat /proc/net/dev# 3. 检查 TCP 连接状态ss -tan | awk '{print $1}' | sort | uniq -c# 4. 检查重传率cat /proc/net/snmp | grep Tcpnstat -az | grep -i retrans# 5. 测试实际带宽iperf3 -c server_ip

场景 3:DNS 解析慢

# 1. 检查 DNS 配置cat /etc/resolv.conf# 2. 测试解析时间dig @8.8.8.8 google.comtime nslookup google.com# 3. 检查本地缓存systemd-resolve --statistics# 4. 检查 /etc/hostsgrep -v "^#" /etc/hosts | grep -v "^$"

6.3 自动化诊断脚本

#!/bin/bash# network-diag.shecho"=== 网络诊断报告 ==="echo"时间: $(date)"echo""echo"=== 1. 网络接口 ==="ip addrecho""echo"=== 2. 路由表 ==="ip routeecho""echo"=== 3. DNS 配置 ==="cat /etc/resolv.confecho""echo"=== 4. 连接统计 ==="ss -secho""echo"=== 5. TCP 状态统计 ==="ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rnecho""echo"=== 6. 网卡统计 ==="cat /proc/net/dev | column -techo""echo"=== 7. 防火墙规则 ==="nft list ruleset 2>/dev/null || iptables -L -necho""echo"=== 8. 连通性测试 ==="ping -c 3 8.8.8.8echo""echo"=== 9. DNS 解析测试 ===dig +short google.comecho ""echo "=== 10. 路由追踪 ==="mtr --report --report-cycles 10 8.8.8.8echo ""echo "诊断完成"

参考资源

  • • Linux Kernel Networking
  • • nftables Documentation
  • • TCP Optimization
  • • Netfilter
  • • Cilium - eBPF Networking

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-01 03:13:52 HTTP/2.0 GET : https://f.mffb.com.cn/a/476820.html
  2. 运行时间 : 0.185044s [ 吞吐率:5.40req/s ] 内存消耗:4,568.65kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9c5cee886148b2c8936421f2c8a0ffcd
  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.000927s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001719s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000684s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000758s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001306s ]
  6. SELECT * FROM `set` [ RunTime:0.000589s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001412s ]
  8. SELECT * FROM `article` WHERE `id` = 476820 LIMIT 1 [ RunTime:0.001094s ]
  9. UPDATE `article` SET `lasttime` = 1772306032 WHERE `id` = 476820 [ RunTime:0.002466s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000655s ]
  11. SELECT * FROM `article` WHERE `id` < 476820 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001134s ]
  12. SELECT * FROM `article` WHERE `id` > 476820 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001144s ]
  13. SELECT * FROM `article` WHERE `id` < 476820 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002181s ]
  14. SELECT * FROM `article` WHERE `id` < 476820 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001954s ]
  15. SELECT * FROM `article` WHERE `id` < 476820 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002040s ]
0.189455s