乐于分享
好东西不私藏

没有这 4 类数据,AIOps都是瞎猜

没有这 4 类数据,AIOps都是瞎猜

AIOps 的数据底座

没有指标、日志、链路和事件,AI 只能猜。有了数据底座,日志助手、告警降噪和 RCA 才有证据。

事情是这样的。

上一章我们已经造了一个会出故障的小系统。

它有网关,有订单服务,有缓存,有数据库。它可以慢,可以报 500,可以数据库超时,也可以 CPU 飙高。

这件事做完以后,很多人会有一个很自然的冲动,那是不是可以开始接 AI 了?

比如把报错丢给 AI,让它分析原因。把一堆告警丢给 AI,让它总结事件。把日志丢给 AI,让它告诉我们下一步查什么。

这个方向当然没错。

但说真的,在真正动手之前,我们还差一个东西。

数据底座。

我这里说的数据底座,不是大数据平台,也不是一上来就搭一套很重的监控体系。对初学 AIOps 的人来说,数据底座先不用想得那么吓人。

它更像一套现场证据。

系统现在是否健康,要有指标。刚才到底发生了什么,要有日志。一次请求经过了哪些服务,要有链路追踪。谁在什么时候做了什么变更,要有事件记录。

这些东西看起来很基础,甚至有点老生常谈。但你只要真的做过故障处理,就会知道,很多线上排障卡住,不是因为人不聪明,也不是因为 AI 不够强。

是因为现场证据太少。

没有数据,AI 只能猜。

有了数据,AI 才能分析。

 数据底座不是为了好看

很多公司刚开始做监控的时候,会先追求大屏。

CPU 曲线,内存曲线,接口 QPS,错误率,数据库连接数,Redis 命中率。一堆图铺满一个大屏,看起来很有科技感。

但真正出故障的时候,值班的人盯着大屏,心里想的往往不是这个大屏真酷。

他想的是,哪个服务先出的问题?影响了哪些接口?刚才有没有发版?这条错误日志和那条告警是不是同一件事?我现在应该先重启服务,还是先查数据库?

这时候你就会发现,数据底座的价值不在于展示。

它的价值在于还原现场。

线上故障其实很像案发现场。服务不会主动站出来说,我就是根因。数据库不会自己承认,我刚才慢查询把上游拖死了。网关也不会告诉你,我只是被上游拖累了,不要把锅扣我头上。

你只能通过证据往回推。

指标告诉你,系统状态什么时候开始异常。日志告诉你,程序在那个时间点具体打印了什么。链路追踪告诉你,一次请求从入口到出口,中间卡在了哪里。事件告诉你,在异常发生前后,人和系统做过什么动作。

这些证据放在一起,才可能拼出一条故障时间线。

对 AI 来说也是一样。

AI 并不会凭空拥有你们系统的现场知识。你不给它证据,它只能根据互联网上常见的故障套路回答你。

它会说,可能是数据库压力高,可能是缓存穿透,可能是线程池耗尽,可能是网络抖动。

这些话听着都对。

但没有证据支撑的时候,都不能直接用于决策。

所以我们在做 AIOps 的时候,第一步不是问 AI 能不能分析。

第一步应该问,系统有没有把该留下的证据留下来。

 指标,看系统现在健不健康

先说指标。

指标解决的是一个最基础的问题,系统现在是否健康。

一个接口到底慢不慢,不能只靠用户说感觉卡。一个服务到底有没有压力,不能只靠运维说看起来还行。一个数据库到底是不是瓶颈,不能只靠开发说我本地没问题。

你需要一组可以连续观察的数字。

比如接口请求量,每秒有多少请求进来,突然变多还是突然变少。

比如接口延迟,平均耗时是多少,P95 是多少,P99 是多少。

这里稍微解释一下,P95 的意思不是平均值。它表示 95% 的请求都比这个值快,剩下 5% 的请求比它慢。

为什么这个指标重要?

因为平均值经常会骗人。

假设 100 个请求里,95 个请求 100 毫秒返回,5 个请求 10 秒才返回。平均下来可能看着还没那么吓人,但那 5 个用户已经炸了。

运维现场里,很多体验问题就是这样。

不是所有请求都慢,而是一小部分请求非常慢。

所以我们要看 P95、P99,要看错误率,要看超时数,要看资源使用率。

CPU、内存、磁盘 IO、网络流量、数据库连接数、缓存命中率,这些都属于指标。

指标的特点是,它不一定告诉你刚才发生了什么细节,但它能告诉你状态变了。

比如上一章那个订单系统,平时下单接口 P95 延迟是 120 毫秒。突然从 10 点 03 分开始,P95 升到 3 秒,错误率从 0.1% 升到 8%,数据库连接数打满。

光看这组指标,你还不能直接断定根因。

但你已经知道,现场不正常了。

你也知道,异常大概从什么时候开始。

这对排障非常关键。

因为故障处理的第一步,不是写结论。

是圈定时间和范围。

什么时候开始?影响哪些服务?是所有接口都慢,还是只有下单接口慢?是所有实例都异常,还是某一台机器异常?

指标就负责回答这些问题。

对 AI 来说,指标可以变成一个很好的输入。你可以把某个时间窗口里的关键指标整理出来,让 AI 帮你总结异常模式。

它可以告诉你,错误率上升和数据库连接数打满几乎同时发生,接口延迟随后升高,CPU 没有明显变化。

注意,这时候 AI 才开始像助手。

因为它不是在猜一个泛泛的可能原因。

它是在读一组真实指标。

 日志,看刚才到底发生了什么

指标告诉你状态变了,但它不告诉你细节。

细节通常藏在日志里。

很多运维同学对日志非常熟,甚至可以说,传统排障里最常见的动作就是查日志。服务报错了,先看日志。接口 500 了,先看日志。任务失败了,先看日志。

但这里有一个问题。

日志太多了。

一套稍微正常一点的系统,每天产生的日志量都很吓人。访问日志、应用日志、错误日志、数据库日志、网关日志、系统日志,一层套一层。

人在排障的时候,其实不是在阅读日志。

人在做的是筛选。

先筛时间,再筛服务,再筛请求 ID,再筛错误级别,再从一堆普通信息里找到真正异常的那几行。

这也是为什么日志分析会成为最适合入门的 AI 运维场景。

因为 AI 很适合做文本总结和模式识别。

但前提是,日志本身要有基本质量。

如果你的日志只有一句 error happened,AI 再强也没办法分析。如果你的日志里没有时间、没有服务名、没有错误码、没有请求 ID、没有关键参数,AI 只能继续猜。

好的日志不需要一开始就很高级,但至少要能回答几个问题。

什么时间发生的?哪个服务打印的?发生在哪个接口或任务里?错误类型是什么?有没有请求 ID 或 trace ID 可以串起来?有没有关键上下文,比如用户 ID、订单 ID、商品 ID、数据库语句类型?

注意,这里不是让你把所有敏感数据都打印出来。

真实生产环境里,日志必须注意脱敏和权限。

我们现在讲的是学习项目,但也要养成这个意识。

日志要能帮助排障,但不能变成泄密源。

回到订单系统。

假设下单接口报 500。一条有价值的日志,应该让你看到,是哪个商品 ID 触发了异常,是库存扣减失败,还是数据库查询超时,是代码抛了空指针,还是依赖服务返回了错误。

这时候 AI 才有东西可以读。

你把一段日志交给 AI,它可以帮你提炼关键异常,合并重复错误,按时间线整理发生过程,给出可能排查方向。

但它做这些事的时候,依赖的不是魔法。

依赖的是日志里留下的证据。

 链路追踪,看请求经过了哪些服务

指标告诉你状态,日志告诉你细节。

但在微服务系统里,还有一个很麻烦的问题。

一次请求会经过很多服务。

用户点了一次下单按钮,背后可能经过网关、订单服务、库存服务、支付服务、优惠券服务、数据库、缓存、消息队列。

当用户说下单慢的时候,你不能只看订单服务自己的日志。因为慢可能不在订单服务本身,它可能卡在库存服务,也可能卡在数据库,也可能是某个第三方接口拖慢了整条链路。

链路追踪解决的就是这个问题。

它关心的不是某一个服务单独怎么样,而是一次请求从入口到出口,中间经过了哪些节点,每个节点耗时多少,有没有报错。

你可以把它理解成一次请求的行程记录。

请求从网关进来,花了 20 毫秒。到订单服务,花了 80 毫秒。查缓存,2 毫秒。缓存没命中,查数据库,2800 毫秒。订单服务等待数据库返回以后,又处理了 40 毫秒。最后网关返回给用户,总耗时 3 秒。

这条链路一出来,很多事情就清楚了。

你不再只是笼统地说下单慢。

你能看到慢在哪个环节。

这对 AIOps 很重要。

因为根因分析最怕的就是只看表面。

网关报超时,不等于网关是根因。订单服务报错,不等于订单服务是根因。告警最多的地方,也不一定是最早出问题的地方。

链路追踪可以帮你把请求路径展开。

它让 AI 不只是看一个孤立错误,而是看到错误在系统里的传播过程。

当然,初学阶段不一定要一上来就接 OpenTelemetry、Jaeger、SkyWalking 这些完整方案。

如果你开发基础还不强,可以先在实验系统里做一个简化版。每次请求生成一个 request_id,网关、订单服务、缓存访问、数据库访问都把这个 request_id 打到日志里,每个环节记录开始时间、结束时间、耗时和状态。

这样你就能在日志里拼出一条简单链路。

这不是企业级链路追踪,但它已经能帮助你理解链路追踪的核心思想。

学习 AIOps,一开始最怕的不是简陋。

最怕的是跳过理解,直接堆工具。

 事件,看谁在什么时候动过什么

还有一种数据,经常被初学者忽略。

事件。

这里的事件,不是第 10 章里要讲的 Incident 事件中心,而是更基础的变更和操作记录。

谁在什么时候发布了新版本?谁改了配置?谁扩容了实例?谁重启了服务?谁调整了数据库参数?谁打开了故障注入开关?

这些都应该被记录下来。

为什么它重要?

因为故障和变更之间,经常有关系。

很多线上事故并不是系统无缘无故坏了,而是某个变更之后开始异常。

新版本发布后,错误率上升。配置调整后,连接池不够用了。缓存策略改变后,数据库压力上来了。定时任务上线后,某个时间点 CPU 飙高。

你做过运维就知道,排障时有一个很常见的问题。

刚才有人动过什么吗?

这句话听起来很朴素,但非常关键。

如果没有事件记录,就只能靠群里问。谁刚才发版了?谁改配置了?谁重启了?有人记得吗?

这种排障方式太依赖人。

人在线,可能问得到。人不在线,就断了。人记错了,方向就偏了。

所以 AIOps 的数据底座里,一定要有事件。

在我们的学习项目里,事件可以先做得很简单。

每次触发故障注入,记录一条事件。每次修改配置,记录一条事件。每次模拟发布,记录一条事件。

事件里至少包括时间、操作者、动作类型、目标对象和备注。

比如 10 点 02 分,admin 打开数据库延迟开关,目标是订单服务的数据库查询,备注是模拟慢查询。

然后 10 点 03 分,接口延迟上升。10 点 04 分,网关超时增加。10 点 05 分,告警触发。

这几条放在一起,AI 就可以帮你整理出一条更像样的时间线。

它会发现,异常不是凭空出现的,它发生在某个变更之后。

这就是事件的价值。

它把人的动作和系统状态连起来。

 四类数据要能串起来

指标、日志、链路追踪、事件,单独看都有价值。

但真正有威力的时候,是它们能串起来。

比如我们模拟一次数据库超时。

事件记录里显示,10 点 02 分打开数据库延迟开关。

指标里显示,10 点 03 分下单接口 P95 延迟开始上升,数据库连接数接近上限。

日志里显示,订单服务大量出现 database timeout。

链路追踪里显示,请求主要耗时集中在数据库查询阶段。

这时候你再让 AI 分析,它的回答就会完全不一样。

没有这些数据时,它只能说可能是数据库问题。

有了这些数据后,它可以说,从时间线看,数据库延迟注入事件发生在 10 点 02 分,随后下单接口延迟和数据库连接数异常上升,订单服务日志出现大量超时,链路耗时集中在数据库查询阶段,因此数据库访问异常是更高优先级的候选原因。

这才叫分析。

它不是拍脑袋。

它有证据。

当然,即使这样,AI 也不能替你最终拍板。

它给的是候选原因和排查建议。

人还要验证。

比如你要关闭故障开关,看指标是否恢复。你要查数据库慢查询,看是否真的存在异常 SQL。你要确认是不是只有某个商品或某类请求受影响。

这就是我们后面会反复强调的边界。

AI 可以帮你整理证据,提出假设,生成报告,推荐下一步。

但最终判断要回到系统和证据。

 初学阶段,先做一个小底座

说到这里,有些读者可能会有压力。

指标、日志、链路追踪、事件,听起来是不是又要搭一堆东西?

Prometheus,Grafana,Loki,ELK,OpenTelemetry,Jaeger,SkyWalking,Kafka。

光听名字就开始累了。

我建议你先别急。

学习阶段,不要一上来就追求企业级。

我们可以分三步走。

第一步,先把日志打好。让每个关键请求都有 request_id,让关键错误有明确错误类型,让重要操作有上下文。这一步最直接,也最适合接第 6 章的日志分析助手。

第二步,把核心指标暴露出来。至少有请求量、错误率、接口耗时、CPU、内存、数据库连接数这几类。你可以用成熟组件,也可以先用简单接口返回模拟指标。

第三步,补上简化链路和事件记录。先把 request_id 串起来,把每个环节耗时记录下来,把故障注入、配置修改、模拟发布这些动作记录成事件。

这样,你的小系统就从会出故障,升级成了会留下故障证据。

这个变化非常重要。

因为从这一刻开始,AI 才不再是陪你聊天。

它开始有机会成为运维助手。

 这章不炫,但它是地基

第三篇我们会做三个最容易落地的 AIOps 实战。

日志分析助手。

告警降噪助手。

Runbook 问答助手。

你会发现,它们看起来是三个项目,但底层都离不开数据。

日志分析助手需要高质量日志。告警降噪助手需要指标和告警数据,还需要知道这些告警之间有没有时间关系、服务关系和依赖关系。Runbook 问答助手需要故障现象、服务名称、错误类型和历史处理文档之间能对应起来。

再往后,根因分析、Incident 事件中心、自动化执行、人审机制,也都不是凭空长出来的。

它们都是在数据底座上继续往上搭。

所以第 5 章看起来不像一个炫酷项目。

它更像打地基。

地基这件事不性感。

但没有地基,后面的智能化都会飘。

很多人做 AIOps 做不下去,不是因为不会调模型。

是因为数据没整理好。

日志没有结构,指标没有口径,事件没有记录,链路串不起来。

这时候 AI 再强,也只能写一篇漂亮的猜测报告。

而我们要做的,不是漂亮猜测。

是能被验证的分析。

这一章你只需要带走一个判断。

AIOps 的起点不是 AI。

是数据。

下一章,我们就从最容易落地的一块开始。

让 AI 读日志。

不是读一段孤零零的报错,而是读我们这个小系统真正留下来的现场记录。

当日志里有时间、有服务、有请求 ID、有错误类型、有上下文,AI 的分析能力就会一下子从泛泛建议,变成像样的排查助手。

这也是我们第一个实战项目的入口。

日志分析助手。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-30 15:59:46 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/687557.html
  2. 运行时间 : 0.096762s [ 吞吐率:10.33req/s ] 内存消耗:4,784.10kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=aa83988e5336988a9bd94e76ff2751db
  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.000571s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000700s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000285s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000276s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000488s ]
  6. SELECT * FROM `set` [ RunTime:0.000215s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000544s ]
  8. SELECT * FROM `article` WHERE `id` = 687557 LIMIT 1 [ RunTime:0.000451s ]
  9. UPDATE `article` SET `lasttime` = 1780127986 WHERE `id` = 687557 [ RunTime:0.009371s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000247s ]
  11. SELECT * FROM `article` WHERE `id` < 687557 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000445s ]
  12. SELECT * FROM `article` WHERE `id` > 687557 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000422s ]
  13. SELECT * FROM `article` WHERE `id` < 687557 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000674s ]
  14. SELECT * FROM `article` WHERE `id` < 687557 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002056s ]
  15. SELECT * FROM `article` WHERE `id` < 687557 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000781s ]
0.098426s