当前位置:首页>python>我为什么放弃 Python 搭建 Agent,转向 Go

我为什么放弃 Python 搭建 Agent,转向 Go

  • 2026-06-30 14:17:40
我为什么放弃 Python 搭建 Agent,转向 Go

导读:原型阶段,Python 是最快的脚手架。到了生产环境,真正决定成败的,不是起步速度,而是地基够不够稳。

你用 Python 写过 Agent 上线吗?

有没有因为一个依赖冲突,整个 LangChain 升级后 Agent 全部罢工?有没有在凌晨两点排查一个 TypeError,原因是某个工具返回了 None 而你的代码假设它一定是 str?有没有为了让 Agent 和 tRPC 微服务通信,单独搭了一套 HTTP 桥接层、一套部署流程、一套监控链路?

如果以上都中招,这篇文章就是写给你的。


一、Python 搭 Agent:快是快,但上线是另一件事

我用 Python 写了将近两年的 Agent。LangChainAutoGenCrewAI——主流框架我全都用过。

原型阶段确实爽。一个 chain = LLMChain(llm=..., prompt=...) 就能跑起来,几十行代码就能做出一个能对话的 Agent。

但上线之后,问题一个接一个。

第一个问题:类型黑洞。 Python 当然不是完全没有类型检查。你可以写类型注解,可以跑 mypy,也可以用 Pydantic 在边界上做数据校验。

问题在于,Agent 的数据流太长了——LLM 返回、工具调用、状态拼接、上下文回写,往往跨越多个框架层。只要其中一段没有把类型约束接住,错误还是会在运行时漏出来。你调一个工具,返回了 None,下游代码当 str 处理——线上炸了才看到。LangChain 的 chain.invoke() 返回什么类型?很多时候还是得看文档、看源码、跑起来才知道。

第二个问题:依赖地狱。LangChain 半年迭代了三个大版本,每次升级都是一次赌命。你的 Agent 代码在 v0.1 能跑,v0.2 就废了。更别提 numpytorch 这些底层包的版本冲突。

第三个问题:和微服务体系的割裂。 我的后端全是 Go,跑在 tRPC 上,监控用 OpenTelemetry,服务发现走 Polaris。Agent 用 Python 写,意味着要单独维护一套运行时、一套部署流程、一套监控链路。Agent 调后端服务,走 HTTP 桥接;后端服务调 Agent,再走一层 gRPC。链路追踪断成两截。

Python 是 Agent 的脚手架,不是 Agent 的地基。

下面是完整拆解。


二、一个需要澄清的事实:并发不是 Python 的死穴

先说清楚一件事——Python 的 GIL 对 Agent 场景并没有想象中那么致命。

Agent 是 IO 密集型应用:调 LLM API、查向量库、执行工具调用,本质上全是网络等待。Python 的 asyncio + aiohttp 完全能处理这种并发。一个 async def 协程的开销也不大,LangChain 也已经全面支持异步调用。

所以如果你只看"能不能并发",Python 没问题。

但并发只是生产级 Agent 的及格线,不是终点线。

我转向 Go 的真正原因,不是 Python 跑不动,而是 Python 更依赖人为把约束补齐——类型要靠注解、mypyPydantic 和团队纪律一起兜住,依赖要自己盯,和微服务体系的集成成本也要自己扛。

决定换语言之前,我列了一张表:

维度
Python
Go
并发能力asyncio
 够用,但混杂同步/异步代码是坑
goroutine
 + channel,同步写法天然异步效果
类型安全
可用类型注解、mypyPydantic 补强,但长链路下更依赖人工兜底
编译时拦截,错误出在 IDE 里不是线上
依赖稳定性LangChain
 三个月一个大版本,升级如拆弹
Go Modules
 语义化版本,编译即锁定
部署方式
虚拟环境 + Docker 镜像 800MB
单二进制 20MB,零依赖
与微服务集成
跨语言桥接,链路追踪断裂
原生对接 tRPC/gRPC,进程内调用

这不是语言宗教战争——这是生产环境的验收单

下面这张图,把 Python 和 Go 在生产级 Agent 场景里的结构差异摊开了:

说完并发,再说性能。Agent 确实是 IO 密集型,但不是纯 IO 密集型。每一次 LLM 调用之间,还有大量 CPU 工作:JSON 序列化/反序列化、Prompt 模板拼接、工具参数解析、向量后处理。这些计算在 Python 里是解释执行的,在 Go 里是编译执行的。

一组数据,来自我用 Eino 和 LangChain 分别实现的同一个 Agent(QPS 100 压测):

指标
Python (LangChain)
Go (Eino)
CPU 峰值
200%
30%
内存占用
2GB+
200MB
P99 延迟
波动大
平滑稳定
冷启动
30 秒
毫秒级

CPU 差 6 倍、内存差 10 倍,这个差距主要不是来自并发模型,而是来自语言运行时的效率。Go 编译成原生机器码,Python 解释执行字节码;Go 的 GC 暂停亚毫秒级,Python 的 GC 在高并发下会引发不可预测的延迟抖动。压测时 P99 延迟的波动,很大程度就是这么来的。

Go 的 goroutine 模型还有一个 asyncio 做不到的事:你不需要区分同步和异步。 在 Python 里,requests 是同步的,aiohttp 是异步的,混用就阻塞事件循环。而在 Agent 场景中,JSON 解析、数据变换这些 CPU 操作天然是同步的——它们和异步 IO 混在一起时,要么用 run_in_executor 桥接,要么接受事件循环被阻塞。在 Go 里,http.Get() 和 json.Marshal() 写法一样,运行时自动调度,同步代码自动获得并发效果。

但更致命的差距仍然在类型系统。Agent 的数据流从用户输入 → Prompt 拼接 → LLM 返回 → 工具调用 → 状态更新,每一步都有类型变换。Python 当然可以靠类型注解、mypy 和 Pydantic 提前拦下一部分问题,但这些约束能不能贯通整条链路,往往取决于框架支持和团队执行力。Go 的很多约束则默认落在编译期。Agent 的链路越长,这个差距越致命。

但 Go 一直缺一个东西——成熟的 Agent 框架。

直到 tRPC-Agent-Go 和 Eino 出现。


三、腾讯和字节同时出手,Go 的 Agent 框架终于能打了

tRPC-Agent-Go:腾讯的 Agent 重火力

基于 tRPC 微服务生态的自主多 Agent 协作框架,同时兼容图编排工作流。

tRPC-Agent-Go 是腾讯开源的 Go 语言 Agent 框架,背靠 tRPC 在腾讯内部 200 万+ 节点、5 万+ 服务的微服务基座。

它的核心架构设计有两个关键决策:

自主协作为主,图编排兜底。

和 LangChain 那种纯编排式框架不同,tRPC-Agent-Go 让每个 Agent 都具备环境感知、自主决策和动作执行能力。多个 Agent 通过消息传递协作,不是死板的工作流,而是能根据上下文动态调整策略的智能体。

自主多 Agent 协作,就是让多个 Agent 像施工班组一样分工、协同、回传结果,而不是按一条死流程机械执行。

但腾讯也承认,对于明确流程的场景,图编排更稳定。所以 GraphAgent 同样是一等公民。

插件化设计,所有组件可插拔。

ModelToolSessionMemoryKnowledge——每个模块都是插件。你想换模型?换一行配置。想加 MCP 工具?注册一个 Tool 就行。想接 OpenTelemetry 监控?内置支持。

它读资料、调模型、挂工具、管会话、记记忆。

支持五种 Agent 类型:

  • LLMAgent:基础智能 Agent,对话+工具调用
  • ChainAgent:链式流水线,适合文档处理、内容审核
  • ParallelAgent:并行多专家,适合多维度评估
  • CycleAgent:循环迭代,适合内容优化、自动调试
  • GraphAgent:图工作流,适合复杂决策和存量迁移
agent := llmagent.New("assistant",    llmagent.WithModel(openai.New("gpt-4o-mini")),    llmagent.WithInstruction("你是一个专业的AI助手"),    llmagent.WithTools([]tool.Tool{calculatorTool, searchTool}),)

这几行代码,就是一个完整的自主智能体。

Eino:字节的 Agent 编排引擎

基于图编排的 Go 语言大模型应用开发框架,组件化设计,强类型校验。

Eino 是字节跳动 CloudWeGo 团队开源的框架,已经在抖音、豆包等核心业务中规模化应用。

图编排,就是先把 Agent 的每一步搭成结构图,让输入、决策、工具调用和输出按既定连接流转。

它的核心设计理念是 Graph(图编排)——把 AI 应用抽象成有向图,节点是组件,边是流转逻辑。

Eino 给我最深的感受有三个:

强类型。 组件输入输出类型严格对齐,编译时就拦住错误,不是跑到线上才炸。这是 Go 的基因优势,Eino 把它发挥到了极致。ChatModel 的输出类型和 ToolsNode 的输入类型对不上?编译报错,不是运行时崩。

流式处理。 独创 StreamReader/StreamWriter 机制,自动处理流的拼接和复制。对 Agent 的实时对话场景,这是刚需。

生态完备。 预置 50+ 组件,覆盖主流大模型接入、知识库管理、RAG 检索。配套 EinoDev 可视化平台,调试链路也更顺手。

agent, err := adk.NewChatModelAgent(ctx, &adk.ChatModelAgentConfig{    Name:        "TechInterviewer",    Instruction: "你是一个资深面试官...",    Model:       model,    ToolsConfig: adk.ToolsConfig{        ToolsNodeConfig: compose.ToolsNodeConfig{            Tools: []componenttool.BaseTool{GetResumeInfoTool()},        },    },    MaxIterations: 15,})

四、选错框架比选错语言更致命

两个框架的差别,摊开看会更清楚:

维度tRPC-Agent-GoEino
来源
腾讯
字节跳动 CloudWeGo
核心范式
自主多 Agent 协作
图编排
微服务集成
深度绑定 tRPC 生态
基于 Hertz,更通用
Agent 类型
5 种(LLM/Chain/Parallel/Cycle/Graph)
Graph + Chain + Workflow
适合场景tRPC
 技术栈团队、复杂多 Agent 协作
通用 Go 团队、结构化流程编排
学习曲线
较高,概念多
较低,图编排直觉友好

简单说:你的团队用 tRPC,选 tRPC-Agent-Go;你的团队用通用 Go 技术栈,选 Eino。两者都不选 Go 生态之外的方案。


五、让我换语言的不是压测数据,是凌晨两点的报警

压测数据容易找,但真正让我下定决心换语言的,不是数字,是三个深夜排障的瞬间。

理由一:类型安全不是锦上添花,而是生产底线。Agent 的数据流天然复杂——用户输入到 Prompt,LLM 返回 JSON 解析成工具参数,工具返回结果拼回上下文。每一步都有类型变换。Python 当然可以用 Pydantic 做输入输出校验,也可以用类型注解和静态检查补强,但这些约束通常要一层层手工接起来。只要有一个工具节点漏了校验,一个 null 而不是 "",下游 .lower() 还是会炸。Go 的编译器替你挡住了更多这类问题,而 Eino 的组件类型约束让整条数据流在编译时就被校验通过。

理由二:部署复杂度是隐性成本。 Python Agent 的 Docker 镜像 800MB,冷启动 30 秒。Go 编译出来一个 20MB 的二进制,毫秒级启动。当你的 Agent 需要弹性扩缩容——流量高峰加实例、低谷缩回去——这个差距直接变成钱。更关键的是,Python 的虚拟环境、依赖锁定、多阶段构建,每一环都可能出问题。Go 的 go build 一步到位,运维团队不需要理解 Python 生态。

理由三:和微服务体系的融合成本。 这是我最痛的一点。Agent 不是孤立运行的——它需要调后端的用户服务、内容服务、推荐服务。Python Agent 调 tRPC 服务,要走 HTTP 网关;tRPC 服务调 Agent,要走 gRPC。链路追踪断成两截,监控面板拼不上。换成 Go 后,Agent 和后端服务在同一个 tRPC 体系内,进程内直接调用,链路追踪一拉到底。

换语言不是为了更快,是为了更稳。

编译器的报错,总比凌晨两点的报警好。


六、Python 的库再强,也不该来扛地基

读到这里,你可能有一个疑问:Python 的库那么丰富,Go 根本替代不了啊。

没错。NumPyPandasspaCysentence-transformers——这些库在 Go 里没有等价物。如果 Agent 需要做 PDF 解析、本地 Embedding 计算、机器学习推理,Go 确实做不了。

但"Go 做 Agent 框架"和"全部用 Go"是两件事。

我实际在用的架构是这样的:

[Go Agent 框架] ├── 编排:Eino Graph / tRPC-Agent-Go ├── 会话/内存/状态:全在 Go 侧 ├── 通用工具:MCP、HTTP、DB → Go 原生 └── 重型工具:PDF解析/Embedding → gRPC → [Python 微服务]

Go 是主线,Python 是支线。

Agent 的编排、会话管理、路由、微服务集成,全在 Go 侧。Python 只在某个具体工具需要特定库时,作为一个独立的微服务出现。

这和我之前批评的"Python Agent 和 Go 后端之间 HTTP 桥接"完全不同。那时候的问题是:Agent 编排层本身在 Python,需要和整个 Go 微服务体系桥接,链路追踪断成两截。 现在反过来——编排层在 Go,Python 只是一个工具节点。通过 gRPC 调用,有 proto 文件定义强类型接口,链路追踪穿透到底。

Python 服务是无状态的——给输入,返输出。不持有会话,不管理 Agent 生命周期。挂了不影响 Agent 主流程,独立扩缩容。

Python 不是被抛弃了,是被安置在了正确的位置。

它是工具箱里的一把专用扳手,不是整栋建筑的地基。


七、两周迁移,12 台缩到 2 台

从 Python Agent 迁移到 Go,我走了三步:

第一步:保留 LLM 调用逻辑,用 Go 重写编排层。 Agent 的核心是 LLM 调用 + 工具调用 + 状态管理,这些逻辑和语言无关。我用 Eino 的 Graph 重新编排了原来的 LangChain Chain。先只替换主流程,不碰提示词和工具协议,确保第一版能对齐旧结果。

第二步:工具迁移。 Python 里用 @tool 装饰器定义的工具,在 Go 里实现为 componenttool.BaseTool 接口。结构更清晰,类型更安全。我优先迁走高频、低依赖的工具,把 PDF 解析和 Embedding 这种重依赖能力继续留在 Python 服务里。

第三步:和现有微服务打通。 原来需要用 HTTP 桥接的 tRPC 服务,现在直接在进程内调用。链路追踪、服务发现、负载均衡,一套体系全打通。迁移完成前,我保留了一段双跑期:同一批请求同时打旧链路和新链路,对比结果、时延和错误率,确认一致后再切流。

整个过程花了两周。迁移后,我的 Agent 集群从 12 台机器缩减到 2 台。

Python 写 Agent 的速度,Go 部署 Agent 的速度,不是同一个速度。


也许你会问:是不是过度工程?我的 Agent 就跑个 Demo,有必要换 Go 吗?

如果只是验证想法,Python 完全够用。LangChain 二十分钟跑通一个原型,Go 做不到这个速度——也没有必要做到。

但原型和生产的距离,比很多人以为的远。

一旦 Agent 需要扛住真实流量、融入微服务体系、让运维团队睡个安稳觉——你面对的问题就不再是"能不能跑起来",而是"跑起来之后怎么不挂"。

腾讯和字节同时选择用 Go 做 Agent 框架,不是巧合。生产级的 Agent,需要生产级的基座——类型安全、单二进制部署、原生微服务集成。

换语言不会让你少写代码。但换到 Go,你写的每一行代码,都跑在编译器的承重墙后,跑在单二进制的预制结构里,跑在你已有的微服务生态里。

Python 的生态没有被浪费——它只是从地基搬到了工具箱。

Agent 的战场不在原型,在生产。

Go 打地基,Python 当扳手。

如果你也在用 Python 跑 Agent 并遇到了类型黑洞和微服务割裂,这个周末可以试试 Eino——初始化一个 Go 项目,用 20 行代码跑通一个最简单的 LLMAgent。Python 那些不可替代的库,封装成 gRPC 微服务挂上去就行。你会发现,Go 做 Agent,比你想象的容易得多。

如果你身边也有人正被 Python Agent 的类型黑洞和微服务割裂折磨,把这篇文章转给他。

你在 Agent 上线这件事上,踩过最大的坑是什么?


🔧 相关资源:

  • tRPC-Agent-Go:https://github.com/trpc-group/trpc-agent-go
  • Eino:https://github.com/cloudwego/eino
  • tRPC-Agent-Go 官方文档:https://trpc-group.github.io/trpc-agent-go/zh/
  • Eino 官方文档:https://www.cloudwego.io/zh/docs/eino/

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 06:42:44 HTTP/2.0 GET : https://f.mffb.com.cn/a/496990.html
  2. 运行时间 : 0.151567s [ 吞吐率:6.60req/s ] 内存消耗:4,638.06kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d915312f63ff9f160e230dd4c5735de1
  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.000689s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000888s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000333s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000283s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000498s ]
  6. SELECT * FROM `set` [ RunTime:0.000199s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000615s ]
  8. SELECT * FROM `article` WHERE `id` = 496990 LIMIT 1 [ RunTime:0.005642s ]
  9. UPDATE `article` SET `lasttime` = 1783032164 WHERE `id` = 496990 [ RunTime:0.001085s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000285s ]
  11. SELECT * FROM `article` WHERE `id` < 496990 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001650s ]
  12. SELECT * FROM `article` WHERE `id` > 496990 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.013286s ]
  13. SELECT * FROM `article` WHERE `id` < 496990 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.025214s ]
  14. SELECT * FROM `article` WHERE `id` < 496990 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002394s ]
  15. SELECT * FROM `article` WHERE `id` < 496990 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004434s ]
0.153221s