乐于分享
好东西不私藏

系统架构设计师-软件质量属性战术与架构评估方法全解

系统架构设计师-软件质量属性战术与架构评估方法全解

一、引言

软件质量属性是衡量系统架构设计有效性的核心指标,架构评估是验证架构是否满足质量需求的关键过程,二者是软考高级系统架构设计师考试的高频考点,在历年案例分析题和论文题中的出现频率超过 40%。 质量属性的研究起源于 20 世纪 70 年代的软件工程质量模型,ISO 9126(现更新为 ISO/IEC 25010:2011《软件工程 产品质量模型》)首次将软件质量划分为功能性、性能、可用性等多个维度。20 世纪 90 年代,卡内基梅隆大学软件工程研究所(SEI)提出了基于场景的架构评估方法,先后发布 SAAM(软件架构分析法)和 ATAM(架构权衡分析法),形成了完整的架构质量评估体系。 本文将从核心质量属性与实现战术、架构评估核心概念、典型评估方法、质量效用树应用等维度,构建完整的知识体系,覆盖软考全部相关考点。

二、核心软件质量属性与实现战术

软件质量属性是系统非功能性需求的集中体现,指系统在满足功能性需求的基础上,在运行效率、可靠性、可维护性等维度表现出的特性,其实现依赖标准化的设计战术,即针对特定质量属性的通用架构设计策略。

(一)六大核心质量属性及战术详解

1. 性能

性能指系统对用户请求的响应能力,核心衡量指标包括响应时间、吞吐量(TPS/QPS)、资源利用率三类。

  • 资源需求战术:通过降低请求的资源消耗提升性能,具体包括优化业务算法复杂度、减少不必要的计算逻辑、压缩传输数据量、合并重复请求等。例如某电商平台将商品详情页的非实时数据静态化,动态请求量降低 70%,页面响应时间从 200ms 缩短至 50ms。
  • 资源管理战术:通过提升资源利用效率提升性能,具体包括引入多线程 / 协程并发处理、数据缓存、计算资源弹性扩容等。例如某支付系统采用 Redis 集群缓存用户常用支付配置,数据库查询压力降低 85%,峰值 TPS 从 2000 提升至 15000。
  • 资源仲裁战术:通过合理分配资源优先级提升核心业务性能,具体包括请求优先级调度、流量削峰填谷、服务降级等。例如某订票系统在春运峰值期将非核心查询请求的优先级调低,优先保障订票核心链路的资源供给,核心业务可用性提升 99.9%。

2. 可用性

可用性指系统正常对外提供服务的时间比例,核心衡量指标为 MTBF(平均无故障时间)、MTTR(平均修复时间),计算公式为可用性 = MTBF/(MTBF+MTTR),互联网行业核心系统通常要求达到 99.99% 及以上可用性。

  • 错误检测战术:及时发现系统运行异常,具体包括心跳检测、健康检查、异常日志监控、指标阈值告警等。例如某微服务架构系统采用 Consul 实现服务心跳检测,节点故障感知时间缩短至 3 秒,故障自动切换效率提升 80%。
  • 错误恢复战术:异常发生后快速恢复服务,具体包括主动冗余(热备,主节点故障时备节点无感知切换)、被动冗余(冷备,故障后人工启动备节点)、Rollback 机制、重试与幂等设计等。例如某银行核心交易系统采用一主两备的三地五中心部署架构,单区域故障时 RPO=0,RTO<30 秒,满足金融级可用性要求。
  • 错误预防战术:从根源避免异常发生,具体包括分布式事务保障、服务节点优雅上下线、风险操作灰度发布等。例如某 SaaS 平台采用灰度发布策略,新版本上线时先放量 1% 用户,验证无异常后逐步全量,版本发布导致的故障次数减少 90%。

3. 安全性

安全性指系统阻止非授权访问、抵御攻击、保障数据完整性的能力,核心衡量指标包括攻击检出率、数据泄露风险等级、合规性满足程度等。

  • 抵抗攻击战术:降低攻击成功概率,具体包括多因素身份认证、传输层与存储层数据加密、接口参数校验、访问权限最小化控制等。例如某政务系统采用 SM2/SM3/SM4 国密算法实现全链路数据加密,满足等保三级合规要求。
  • 检测攻击战术:及时发现正在发生的攻击行为,具体包括入侵检测系统(IDS)、Web 应用防火墙(WAF)、异常访问行为分析等。例如某电商平台基于用户行为特征建立攻击检测模型,黄牛刷单行为检出率提升至 98%。
  • 攻击恢复战术:攻击发生后降低损失并快速恢复,具体包括安全审计追踪、数据备份与恢复、漏洞补丁快速发布等。例如某互联网企业建立 7 级数据备份体系,遭受勒索病毒攻击后 2 小时内完成数据恢复,业务损失降低 95%。

4. 可修改性

可修改性指系统能够快速、低成本地响应需求变更的能力,核心衡量指标包括变更响应周期、变更影响范围、变更引入缺陷率等。

  • 高内聚低耦合设计:具体包括信息隐藏、模块职责单一化、依赖倒置、接口与实现分离等。例如某企业 ERP 系统采用领域驱动设计(DDD)划分限界上下文,单个业务模块的变更影响范围控制在 10% 以内,需求迭代周期从 2 周缩短至 3 天。
  • 变更控制战术:具体包括维持接口向后兼容性、限制跨模块通信路径、复用通用服务组件等。例如某 PaaS 平台采用 API 版本号管理机制,新版本发布时旧版本接口继续保留,下游业务系统无需同步改造,版本兼容成本降低 80%。

5. 易用性

易用性指用户完成指定任务的容易程度,核心衡量指标包括用户学习成本、任务完成率、操作错误率等。具体战术包括运行时功能引导、用户任务模型预设、交互界面分层设计、操作撤销机制等。例如某协同办公系统根据不同角色的工作场景预设任务流程,新用户学习成本降低 60%,任务完成效率提升 40%。

6. 可测试性

可测试性指通过测试手段快速揭示系统缺陷的能力,核心衡量指标包括测试用例覆盖率、缺陷检出率、测试环境搭建周期等。具体战术包括模块可独立部署、接口可 Mock、运行状态可观测、测试埋点预置等。例如某电商平台采用契约测试实现微服务接口的自动化测试,测试周期从 3 天缩短至 4 小时,缺陷漏测率降低 70%。

六大质量属性与实现战术思维导图,展示各质量属性的定义、衡量指标、具体战术分类及典型技术实现

(二)质量属性战术的选择原则

不同质量属性之间通常存在冲突,例如提升系统安全性的加密逻辑会增加计算开销,导致性能下降;引入多副本冗余会提升可用性,但会增加数据一致性维护成本,提升架构复杂度。战术选择需要结合业务优先级进行综合权衡,核心原则包括:核心业务相关质量属性优先保障、非核心质量属性可适当妥协、相同质量目标下选择实施成本最低的战术组合。

三、架构评估核心概念

架构评估是对架构设计满足质量需求程度的系统性分析过程,软考范围内需要掌握四个核心概念,且需明确其边界差异。

(一)敏感点

敏感点是指架构中单个或多个构件的特性,其变化会直接影响某一个质量属性的表现。例如缓存过期时间是性能的敏感点,过期时间过短会导致缓存命中率下降,数据库访问压力升高;过期时间过长会导致数据一致性风险提升。敏感点是质量属性战术设计的核心关注对象,也是架构优化的关键切入点。

(二)权衡点

权衡点是指同时影响多个质量属性的架构特性,是多个质量属性的共同敏感点,需要架构师进行折中决策。例如分布式系统中多副本同步策略是典型的权衡点:采用强同步复制可以提升数据一致性和可用性,但会增加请求响应时间,降低性能;采用异步复制可以提升性能,但会降低数据一致性。软考案例分析题中常要求识别架构设计中的权衡点,并给出决策依据。

(三)风险点

风险点是指架构设计中潜在的、存在缺陷的决策可能带来的隐患,风险点如果触发会导致一个或多个质量属性无法满足需求。例如架构设计中未考虑缓存雪崩场景,当缓存集群整体故障时,数据库会被直接打垮,导致系统不可用,该设计决策即为风险点。架构评估的核心目标之一就是识别潜在风险点,并给出缓解方案。

(四)非风险点

非风险点是指经过评估确认可以满足质量需求、不存在明显隐患的架构决策。例如某系统设计了两地三中心的部署架构,经过可用性评估可以满足 99.99% 的可用性要求,该决策即为非风险点。非风险点是架构设计的确认项,无需额外调整。

架构评估核心概念关系示意图,展示敏感点、权衡点、风险点、非风险点的定义边界、关联关系及判断流程

四、基于场景的架构评估方法

基于场景的评估方法是目前行业应用最广泛的架构评估方法,也是软考的核心考点,主要包括 SAAM 和 ATAM 两类,二者均由 SEI 提出,属于定性评估框架,核心是通过预设的质量场景验证架构的满足程度。

(一)SAAM(软件架构分析法)

SAAM 是最早提出的架构评估方法,1990 年由 SEI 发布,最初用于分析架构的可修改性,后扩展到其他质量属性的评估,适用于架构方案的初步筛选和单一质量属性的深度评估。

1. 评估流程

  • 场景开发:收集所有利益相关者(业务方、开发、运维、测试等)的质量需求,转化为具体的可验证场景,每个场景包含刺激源、刺激、环境、制品、响应、响应衡量指标 6 个要素。例如 “秒杀活动期间(环境),10 万并发用户(刺激源)提交订单请求(刺激),订单服务(制品)的响应时间不超过 200ms,订单成功率不低于 99.99%(响应衡量指标)”。
  • 架构描述:采用标准架构视图(如 4+1 视图)清晰描述待评估的架构设计,明确各构件的职责、交互关系、部署方式等。
  • 场景分类与优先级排序:将场景分为直接场景(现有架构可以直接满足的场景)和间接场景(需要对架构进行修改才能满足的场景),并根据业务重要度对场景进行优先级排序。
  • 间接场景评估:针对每个间接场景,评估架构修改的成本、影响范围、引入的风险,判断其可实现性。
  • 场景交互评估:分析多个间接场景是否会影响同一个架构构件,识别存在的冲突,评估架构的可修改性水平。
  • 形成总体评估:输出最终评估报告,明确架构的优势、存在的风险、需要调整的内容,给出是否采用该架构的建议。

2. 优缺点分析

  • 优势:流程简单、易操作,对评估人员的专业要求较低,适合架构设计早期的快速评估,场景收集过程可以促进利益相关者的需求对齐。
  • 局限性:仅支持单个质量属性的独立评估,无法处理多质量属性之间的权衡问题,评估结果的量化程度较低。

(二)ATAM(架构权衡分析法)

ATAM 是在 SAAM 基础上发展而来的评估方法,1998 年由 SEI 发布,专门针对多质量属性的综合权衡评估,适用于复杂系统的架构最终方案确认,也是软考案例分析题的高频考点。

1. 核心活动领域

ATAM 的评估过程分为 4 个核心活动领域,可迭代开展:

  • 场景和需求收集:收集业务目标、约束条件、所有利益相关者的质量需求,形成标准化的场景集合。
  • 架构视图和场景实现:描述待评估架构的设计细节,明确每个场景在架构中的实现路径,识别对应的敏感点和权衡点。
  • 属性模型构造和分析:针对每个质量属性构建分析模型,分别评估架构对单个质量属性的满足程度,识别存在的风险点。
  • 折中分析:针对识别出的权衡点,分析不同决策对多个质量属性的影响,结合业务优先级给出权衡决策建议,形成最终的风险缓解方案。

2. 优缺点分析

  • 优势:支持多质量属性的综合权衡评估,能够系统性识别架构中的风险点和权衡点,评估过程输出的决策依据清晰,可追溯性强。
  • 局限性:流程复杂,评估周期长,对评估人员的架构专业能力要求高,属于定性分析框架,无法给出精确的量化评估结果。

SAAM 与 ATAM 评估流程对比图,展示两种方法的流程步骤、适用场景、优缺点差异

五、质量效用树的设计与应用

质量效用树是 ATAM 评估过程中的核心工具,用于将抽象的业务目标逐层分解为可验证的质量场景,明确各场景的优先级,为评估提供统一的输入依据,也是软考论文题中常用的架构需求分析工具。

(一)质量效用树的结构

质量效用树采用四层结构:

  1. 根节点:系统的整体业务目标,例如 “支撑电商平台双 11 峰值业务稳定运行”。
  2. 第一层子节点:核心质量属性,通常包括性能、可用性、安全性、可修改性等,根据业务需求选择。
  3. 第二层子节点:每个质量属性的具体细化分类,例如性能可细化为响应时间、吞吐量、资源利用率;可用性可细化为故障恢复时间、服务在线率等。
  4. 叶子节点:具体的可验证质量场景,每个场景标注两个核心参数:重要度(1-5 分,5 分最高,代表该场景对业务目标的影响程度)、实现难度(1-5 分,5 分最高,代表该场景在现有架构下的实现难度)。

(二)质量效用树的应用步骤

  1. 利益相关者共同确定业务目标和核心质量属性,完成效用树的前两层结构设计。
  2. 各领域专家将质量属性细化为具体的可验证场景,填写叶子节点内容。
  3. 利益相关者共同评审所有场景,确定每个场景的重要度和实现难度,根据 “重要度 × 实现难度” 的乘积计算优先级,乘积越高优先级越高。
  4. 优先级最高的场景作为架构评估的核心验证对象,优先级低的场景可适当放宽要求或延后实现。  例如某电商平台的质量效用树中,“秒杀场景下订单服务 TPS 达到 20 万” 场景的重要度为 5 分,实现难度为 4 分,优先级为 20,属于最高优先级的评估场景;“后台管理系统页面响应时间不超过 2 秒” 场景的重要度为 2 分,实现难度为 1 分,优先级为 2,属于低优先级场景。

质量效用树结构示意图,展示从业务目标到具体场景的逐层分解逻辑,以及重要度、实现难度的标注方式

六、架构评估的前沿发展与趋势

随着云原生、微服务等架构模式的普及,架构评估方法也在不断演进,主要发展方向包括三个方面:

(一)量化评估能力增强

传统 ATAM 和 SAAM 以定性分析为主,新兴的评估方法引入了架构仿真、性能压测、混沌工程等技术,实现质量属性的量化评估。例如通过混沌工程主动注入故障,实际验证架构的可用性指标,替代传统的定性判断,评估结果的准确性提升 60% 以上。

(二)自动化评估工具普及

越来越多的架构评估工具实现了与架构设计平台、DevOps 流程的集成,可自动识别架构设计中的敏感点、风险点,自动生成评估报告。例如某云厂商的架构评估工具可自动扫描云资源部署架构,识别单点故障、权限配置不合理等风险点,评估效率提升 90% 以上。

(三)持续评估机制建立

传统架构评估仅在架构设计阶段开展一次,随着架构持续演进,行业逐步建立了全生命周期的持续评估机制,每次架构迭代都自动开展质量属性评估,及时识别架构劣化风险。例如某互联网企业建立了架构健康度评分体系,每月自动开展一次架构评估,架构相关故障次数减少 70%。

架构评估技术演进路线图,展示从传统定性评估到量化、自动化、持续评估的发展历程,以及各阶段的核心技术特征

七、总结与建议

(一)核心知识点提炼

  1. 六大核心质量属性各有对应的实现战术,战术选择需要结合业务优先级,解决质量属性之间的冲突。
  2. 敏感点影响单个质量属性,权衡点影响多个质量属性,风险点是存在隐患的架构决策,三类概念的边界需清晰区分。
  3. SAAM 适用于单一质量属性评估和架构初步筛选,ATAM 适用于多质量属性的综合权衡,二者均属于基于场景的定性评估框架。
  4. 质量效用树是 ATAM 的核心工具,通过逐层分解业务目标形成可验证的场景,明确优先级,是架构评估的输入依据。

(二)软考考试重点提示

  1. 高频考点:质量属性的战术设计、敏感点 / 权衡点 / 风险点的识别、ATAM 的评估流程、质量效用树的应用,这四类知识点在历年考试中出现频率超过 80%,需要重点掌握。
  2. 易错点:混淆敏感点和权衡点的定义、混淆 SAAM 和 ATAM 的适用场景、质量效用树的层级结构划分错误,答题时需明确边界。
  3. 论文写作建议:若选择质量属性或架构评估相关主题,需明确写出具体的质量场景、采用的战术、ATAM 的评估过程、识别出的权衡点和决策依据,体现实战能力。

(三)实践应用建议

  1. 架构设计阶段同步开展质量属性分析,避免设计完成后才发现存在明显的质量缺陷,导致返工成本过高。
  2. 架构评估需要所有利益相关者共同参与,避免仅由技术团队独立评估,导致遗漏业务侧的质量需求。
  3. 复杂系统优先采用 ATAM 评估方法,识别多质量属性之间的权衡点,决策时需要明确业务优先级,避免过度设计。

(四)学习路径建议

  1. 先掌握 ISO/IEC 25010 质量模型的核心定义,明确各质量属性的衡量指标。
  2. 结合实际项目案例,练习敏感点、权衡点、风险点的识别,掌握分类方法。
  3. 完整梳理 SAAM 和 ATAM 的流程,明确每个步骤的输入输出和核心目标。
  4. 练习质量效用树的设计,掌握从业务目标到具体场景的分解方法,能够独立完成质量需求的优先级排序。
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-02 00:27:52 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/696350.html
  2. 运行时间 : 0.121798s [ 吞吐率:8.21req/s ] 内存消耗:4,767.26kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=74592d346d324aa2e136a83e3b3725f0
  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.000470s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000776s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000279s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000327s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000474s ]
  6. SELECT * FROM `set` [ RunTime:0.000221s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000672s ]
  8. SELECT * FROM `article` WHERE `id` = 696350 LIMIT 1 [ RunTime:0.001236s ]
  9. UPDATE `article` SET `lasttime` = 1780331272 WHERE `id` = 696350 [ RunTime:0.002318s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000261s ]
  11. SELECT * FROM `article` WHERE `id` < 696350 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000409s ]
  12. SELECT * FROM `article` WHERE `id` > 696350 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000557s ]
  13. SELECT * FROM `article` WHERE `id` < 696350 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000509s ]
  14. SELECT * FROM `article` WHERE `id` < 696350 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000749s ]
  15. SELECT * FROM `article` WHERE `id` < 696350 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000662s ]
0.126250s