乐于分享
好东西不私藏

车载软件冷启动慢在哪:Bootloader、EcuM到RTE的全链路耗时拆解

车载软件冷启动慢在哪:Bootloader、EcuM到RTE的全链路耗时拆解

小T三问

小伙伴们,做过量产 ECU 的,一定都听过一句很熟悉的话:启动时间再压一压。可问题是,很多项目一到真优化时,大家就开始各自甩锅——应用说基础软件太重,基础软件说 Bootloader 太慢,集成说硬件初始化太多,最后启动时间没降多少,代码反而被改乱了。那启动时间到底该怎么拆?

第二个问题,为什么有些 ECU 明明主频不低、资源也不差,冷启动还是慢得离谱?启动慢到底是 CPU 不够快,还是初始化路径设计有问题?如果我们不把启动链路拆开看,是不是永远只能靠感觉优化?

第三个问题也最现实:项目里经常会提“300ms 可用”“500ms ready”“1s 内进入主功能”,这类指标到底应该怎么落到 Bootloader、EcuM、BswM、RTE、NvM、Com、App 各层,而不是最后变成一句空口号?

今天这篇,小T就按量产项目真正落地的方式,把车载软件冷启动时间优化这件事彻底拆开讲清楚:启动慢到底慢在哪、哪些模块最容易吞时间、项目里最常见的误区是什么,以及一套真正可执行的优化方法论。

1. 启动时间为什么总是“感觉慢”,但团队又说不清慢在哪

很多项目一聊启动优化,第一反应都是“感觉有点慢”,可一问慢在哪,就开始模糊:有人说开机 logo 出来得慢,有人说总线报文上线晚,有人说诊断连不上,有人说应用功能响应晚。问题就在这里——启动时间从来不是一个单点指标,而是一条链路指标

先把概念掰正。对车载 ECU 来说,启动时间至少有三个常见口径:

也就是说,用户感知的“启动慢”,很多时候并不是某个函数跑得慢,而是系统定义的 ready 点不一致。比如整车侧盯的是 CAN 报文什么时候上线,诊断侧盯的是 0x10/0x22 什么时候能响应,应用侧盯的是控制逻辑什么时候真正开始运行。不同人看的 ready 点不同,你不统一口径,讨论半天基本都是鸡同鸭讲。

另一个常见问题,是很多团队根本没有做启动时间预算。项目初期觉得“先能跑起来再说”,等功能越堆越多,才发现上电后要做的事情已经从几十项涨到上百项:时钟切换、MCAL 初始化、OS 启动、EcuM 状态流转、BswM 模式决策、RTE 初始化、NvM ReadAll、Com/PduR/CanIf/CanTp 启动、诊断服务准备、应用状态恢复……这时候启动慢不是偶然,而是结构性结果。

所以小T一直说,启动优化的第一步不是改代码,而是统一口径:你到底要优化的是“诊断 ready”“通信 ready”“控制 ready”还是“整机 ready”?只有把 ready 点定义清楚,后面的 profile 才有意义。否则你把某个初始化提早 50ms,结果对整车无感,那就只是自我感动。

2. 从 Bootloader 到 RTE,启动时间到底被谁吃掉了

真正开始做启动分析时,最容易犯的错误就是只盯应用层。因为应用代码看得见,改起来也最快,于是大家总爱先去砍日志、合并 runnable、延后某些应用状态机。但量产项目里真正的大头,很多时候并不在应用,而是藏在基础软件链路和依赖顺序里。

先看 Bootloader 阶段。很多人以为 Bootloader 很小,耗时应该可忽略。实际上不是。只要你做了镜像校验、分区检查、回滚判断、升级标志判定、外设最小初始化,这一段就可能已经吃掉几十到上百毫秒。如果再叠加 Flash 完整性检查、签名校验或者双 Bank 判断,Bootloader 很容易成为启动优化的第一个大头。

再往下是 时钟和底层驱动初始化。这部分看起来很“底层”,但经常是被低估的耗时来源。比如时钟树切换、PLL 锁定等待、RAM init、Port 初始化、MCU 驱动初始化、CAN/LIN/Ethernet 控制器 bring-up,这些动作很多不是 CPU 算力问题,而是硬件需要稳定等待时间。也就是说,哪怕你主频再高,某些等待时间也不会凭空消失。

然后是 OS + EcuM 阶段。这里的典型问题不是“某个函数特别慢”,而是状态流转过于保守。很多项目的 EcuM 启动路径是按最稳妥方式串行跑的:先做一堆基础初始化,再切状态,再调 BswM,再等各模块回调,再继续往下。逻辑没错,但路径经常被越堆越长。尤其当项目后期为了兼容多个车型、多个变体,把各种 ifdef 和模式判断都塞进来,状态切换本身就会变重。

接着是 BswM / SchM / RTE 初始化。这部分在很多项目里看上去“代码不多”,但影响非常大。因为这里本质上是从“基础软件 ready”往“应用可调度”过渡的桥。只要模式管理复杂、初始化动作分散、RTE generated init 过多,系统就会在这里产生很多隐性串行依赖。最典型的现象就是:看单个函数都不慢,但合起来路径很长。

再往后往往会碰到一个真正的隐藏大头:NvM 数据恢复。这是很多项目启动慢的罪魁祸首之一。因为上电后大量模块都在等持久化数据:DID 默认值、故障状态、学习值、校准参数、上次关机状态、功能开关、网络配置……如果你一上电就全量 ReadAll,而且很多块还设计得又大又多,那启动时间很容易被直接拖垮。更糟的是,很多团队不敢碰 NvM,因为怕改坏数据一致性,所以只能在别的地方小打小闹。

除此之外,通信栈与诊断栈的 ready 时机也很关键。很多 ECU 看起来“启动了”,但 CAN 报文没上线、DoIP 还没 ready、诊断服务还没进入可响应状态。整车侧和测试侧看到的就是“启动慢”。这里本质是两个问题:

最后才轮到 应用初始化。应用当然也会慢,特别是以下几类情况:

所以你会发现,启动时间根本不是“某一层单独的问题”,而是Bootloader → Driver → OS → EcuM → BswM → RTE → NvM → Com/Diag → App 这条链共同决定的。没有 profile 的情况下,谁都觉得自己只慢了一点点;但所有“一点点”串起来,就是整条链慢。

车载启动分阶段耗时瀑布图:Bootloader、驱动、EcuM、NvM、通信、应用

3. 量产项目里最常见的四类启动优化误区

项目里一做启动优化,最怕的不是慢,而是乱优化。因为启动链路是强依赖系统,你今天为了省几十毫秒去改顺序,明天可能就引入诊断异常、网络抖动、数据恢复错误,甚至偶发上电死机。小T踩过不少坑,最常见的误区大概就这四类。

误区一:只盯应用层,觉得基础软件动不了。

很多团队一看到启动慢,就先让应用删日志、砍状态机、少做检查。应用当然能优化,但如果真正的大头在 Bootloader、NvM ReadAll 或 BswM 模式切换,你把应用改秃噜皮,收益也有限。这个误区的本质,是因为应用代码最容易改,所以大家只改最顺手的部分。

误区二:没有 profile 数据就开始拍脑袋并行初始化。

听起来并行初始化很美,实际上很容易把系统搞脏。某些模块确实可以延迟或并行,但前提是依赖关系清楚。比如通信依赖时钟和驱动稳定、应用依赖 RTE 和关键数据 ready、诊断依赖 session/context 建立。如果不做 dependency 分析就乱并行,很容易出现“快是快了,但偶发异常越来越多”的情况。

误区三:为了快,破坏启动阶段的职责边界。

最典型的就是把一些本该在模式切换后、或应用周期里做的事,直接塞到早期初始化里,或者反过来把必须早做的事情强行后移。结果是什么?短期某个指标好看了,长期维护越来越烂,新同事根本不知道哪些动作属于“必须启动路径”,哪些属于“延迟初始化路径”。

误区四:把启动优化理解成删东西,而不是重构路径。

真正有经验的团队不会只问“能删什么”,而是先问“什么必须串行、什么可以并行、什么可以后移、什么不该阻塞 ready 点”。启动优化的核心不是粗暴裁剪,而是重构初始化路径。如果路径不变,你删 10 个小动作,可能还不如把一个 NvM 块改成按需加载来得有效。

这四类误区背后,其实暴露的是同一个问题:很多项目把启动优化当成局部性能问题来做,但它本质上是系统级时序设计问题。不把链路和依赖关系梳理清楚,优化就很容易变成新的故障源。

启动优化常见误区对比图:拍脑袋裁剪 vs 基于profile的系统优化

4. 真正能落地的启动时间优化方法论

说了这么多问题,最后还是得落到“怎么做”。小T这边给的不是玄学建议,而是一套量产项目里相对稳的路径:先测量,再分层预算,再重构路径,最后做回归验证。 启动优化不是一锤子买卖,而是一条工程闭环。

第一步:先测量,不要凭感觉。

最少要把启动链拆成几个时间戳:Bootloader 结束、MCAL ready、OS ready、EcuM 状态切换完成、RTE ready、NvM ReadAll 完成、通信 ready、诊断 ready、主功能 ready。你可以用 GPIO 打点、trace、串口 log、Lauterbach、CAN 报文时间戳等方式去采。没有这层数据,所有优化建议都不可靠。

第二步:做 timing budget。

不要把“500ms ready”直接压给整个软件团队,而是拆预算:

第三步:优先动真正的大头。

根据小T的经验,最值得优先看的通常是这几类:

1. Bootloader 的校验与判断路径
    :有没有重复校验、是否可以分级校验;
2. NvM ReadAll 策略
    :哪些数据必须上电即读,哪些可以按需加载;
3. 模式管理链路
    :EcuM/BswM 状态转换是不是过重;
4. 通信 ready 定义
    :是否被无关动作阻塞;
5. 应用初始化职责
    :是否把太多非关键动作塞进 early init。

第四步:区分“必须初始化”和“延迟初始化”。

这一步非常关键。所有启动动作都应该被分成两类:

    • 应用进入主功能多少。 这样每一层才知道自己该优化到什么程度,而不是最后大家一起背锅。
    • 通信与诊断多少
    • NvM 多少;
    • OS/EcuM/BswM/RTE 多少;
    • 基础驱动初始化多少;
    • Bootloader 预算多少;
    • 很多非关键逻辑被错误地放在“必须启动完成”路径上。
    • 访问外设前缺少缓存或预热策略;
    • 多个 runnable 同时在 Init 阶段做重计算;
    • 上电就做复杂状态恢复;
    • ready 的判定是不是被绑在过多非关键动作之后。
    • 通信初始化是不是过早依赖其他模块;
    • 上电到功能可用
      :通信建立、NvM 数据恢复、关键应用 runnable 周期执行、外部可观测行为正常。
    • 上电到基础软件 ready
      :Bootloader、时钟、驱动、OS、EcuM、BswM、RTE 等初始化完成;
    • 上电到 CPU 开始执行
      :这是硬件和 Boot ROM 的范围;
  • 功能 ready 前必须完成
    :安全相关、总线基础、关键控制、必要状态恢复;
  • 可以在 ready 后延迟做
    :非关键诊断缓存、统计信息、历史记录、次要服务、部分舒适性功能准备。 谁都想让系统一上电什么都齐,但代价就是启动路径越来越肥。真正成熟的项目一定会做这层分流。

    第五步:并行化要建立在依赖清晰的前提下。

    并行初始化不是不能做,而是要清楚哪些模块没有强依赖。例如某些应用数据预热可以和非关键服务初始化并行,某些日志模块可以在主功能 ready 后再补;但涉及时钟、总线、RTE、关键 NvM 数据、诊断上下文的动作,一定要非常谨慎。并行化的目标是减少无意义串行,不是制造新竞态。

    第六步:优化后必须做回归,不只看启动时间。

    这是很多项目容易偷懒的地方。启动时间降了,不代表优化成功。你还得验证:

      • 总线首帧是否正常;
      • 诊断服务是否按预期 ready;
      • NvM 数据是否恢复正确;
      • 唤醒/复位路径是否被影响;
      • 极限温度、电压波动、重复上电下的稳定性是否还在。

小T最后给一个特别实用的判断标准:启动优化做得好不好,不看你删了多少初始化,而看你是否把 ready 点定义清楚、时间预算拆清楚、依赖路径收干净。 真正强的团队,启动时间优化不是一次突击,而是平台能力的一部分。

小T心得

车载启动时间优化,绝对不是“删几个初始化函数”“少打几条日志”这么简单。它本质上是系统工程,考验的是你对 Bootloader、驱动、OS、EcuM、BswM、RTE、NvM、Com、Diag 和应用链路的整体理解。谁只盯一个点,最后大概率都会掉进局部优化的坑里。

小T更建议大家把启动优化当成一套工程闭环来做:先定义 ready 点,再做 profile,再拆 timing budget,然后识别大头、梳理依赖、区分必须初始化和延迟初始化,最后再做全链路回归。只有这样,优化结果才是可测量、可维护、可复制的。否则启动时间也许降了一点,但系统会越来越脆,这种“优化”其实不值钱。

实战精彩推荐

AUTOSAR实战篇:手把手带你搞定TC3XX芯片基于GTM+DMA的ADC实现(MCAL版)

AUTOSAR实战篇:手把手带你搞定TC3XX芯片基于DMA的SPI实现

AUTOSAR实战篇:基于ETAS工具链的多核OS配置手把手实战指南

AUTOSAR实战篇: 基于ETAS工具链的信息安全协议栈集成指南

AUTOSAR实战篇:EcuM启动时序大总结

AUTOSAR实战篇:手把手带你搞定Watchdog协议栈

AUTOSAR实战篇:TC3XX芯片之CAN波特率与采样点配置实战

END
点击如下蓝色字体即可跳转

精选  | AUTOSAR全栈系列

精选  | AUTOSAR词典系列

精选  | 车载以太网学习宝典

精选  | UDS诊断服务一网通

精选  | HighTec编译器使用指南

精选  | Lauterbach使用指南

精选 | 小T技术文章大全 

文末福利

1.如需获取小T的UDS诊断服务学习宝典(85页),
后台回复“UDS宝典“即可免费下载;

2.为便于技术交流,创建了AUTOSAR技术交流群,可尽情探讨AP,CP,DDS,SOME/IP等前沿热点话题,后台回复“加群”即可加入;

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-20 09:03:01 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/640363.html
  2. 运行时间 : 0.276298s [ 吞吐率:3.62req/s ] 内存消耗:4,722.50kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=62e3fe62f330a0c2f813e53e6d6671ad
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001673s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001640s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000790s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000772s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001668s ]
  6. SELECT * FROM `set` [ RunTime:0.000718s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001919s ]
  8. SELECT * FROM `article` WHERE `id` = 640363 LIMIT 1 [ RunTime:0.001183s ]
  9. UPDATE `article` SET `lasttime` = 1779238981 WHERE `id` = 640363 [ RunTime:0.001683s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000800s ]
  11. SELECT * FROM `article` WHERE `id` < 640363 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001320s ]
  12. SELECT * FROM `article` WHERE `id` > 640363 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001354s ]
  13. SELECT * FROM `article` WHERE `id` < 640363 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002530s ]
  14. SELECT * FROM `article` WHERE `id` < 640363 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002168s ]
  15. SELECT * FROM `article` WHERE `id` < 640363 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002389s ]
0.278103s