SuperAPI AI 工具集

drupal-performance

编程与开发

查看项目

更新于 10-16 05:50

技能介绍

用途:为 Drupal 项目提供性能审查与优化的模式与反模式参考,覆盖后端查询、渲染缓存、前端资源与生产环境诊断。主张按层诊断:先判断是 TTFB(后端)还是 LCP/TBT/CLS(前端)问题,避免用错工具。

主要能力:以冷渲染真实 SQL 查询次数为首要指标,目标标准页面 <100 并按路由设预算;渲染路径中的外部 http.client 调用目标为 0;内存 <50MB;本地墙钟时间仅作同主机相对比较的弱信号。强调认证路由的 Dynamic Page Cache 按用户缓存,冷路径并非一次性;生产应以 APM 事务追踪中 DB 查询跨度计数与 http.client 跨度为准。

常见反模式与做法:模板中加载实体、循环内查询、为计数加载全部实体、缺少数据库索引、模板内方法调用;应改为预处理、批量加载、计数查询、更新钩子加索引、静态缓存。渲染数组应带 #cache 元数据(max-age、contexts、tags),上下文取仍正确的最窄范围,实体用 getCacheTags(),自定义标签经 cache_tags.invalidator 失效;自定义 JSON 端点用 CacheableJsonResponse,内联块带 #cache['keys']。

用法与查找:提供 grep 命令定位模板实体加载、方法调用与预处理函数;用 SHOW INDEX FROM node_field_data 检查索引;用 drush ev 配合 \Drupal::httpClient()->request 诊断外部请求超时(cURL error 28)。部署前按清单核查。

限制与提醒:资料未提供具体版本、安装方式、价格或效果承诺;作者经验来自特定代码库,本地 DDEV 数据库同容器约 0.1ms/查询、生产网络数据库约 1ms+/查询,故本地时间会掩盖真实成本。缓存后端过小导致驱逐是诊断项而非常见根因,需在清空缓存后复测以区分驱逐与渲染本身过慢。是否启用聚合、资源版本冻结等前端行为按资料描述处理。适用文件范围含自定义主题 .theme、Twig 模板与自定义模块 PHP。