
事件发生时间和经过时长是不同数据。墙钟时间可能受校时等影响,测量代码片段耗时应考虑合适的单调计时机制,例如PHP的hrtime,并明确单位;日志时间仍保留用于跨系统关联,二者不互相替代。
先确定要测的是哪段过程
浏览器完整加载、服务器请求、一次数据库调用和一段PHP函数耗时范围不同。把起止位置写清,避免将缓存命中的短路径与实际执行长路径混比。时间单位也要统一,不把纳秒、毫秒和秒在图表中直接相减或用同一标题展示。
理解墙钟与单调计时用途
日期时间适合说明事件何时发生,单调时钟更适合度量经过多久。系统校时或时区显示不应被解释为业务忽然倒退执行。hrtime返回形式和平台能力按当前PHP手册确认,不把示例数字当作跨机器可直接比较的绝对时间戳。

给采样保留必要上下文
记录请求类型、是否预热、输入规模和错误状态,不在性能日志里保存完整客户表单或认证信息。测量代码自身也有开销,应避免在生产每个细小步骤无限增加日志。需要跨服务比较时,持续时间与可关联的墙钟时间分别保存。
用重复样本而非一次最快值判断
选择代表性操作重复观察,区分成功与失败、缓存前后及不同负载。优化前后范围必须一致,不能因为起止点变了就宣称速度提高。结果应注明样本与环境,只说明已测片段,不把单个函数耗时当作整个网站或客户网络体验。
关键区别

发生时间:定位事件时间点;可用于跨系统关联。
经过时长:衡量过程持续多久;应选合适计时机制。
单位范围:决定数据可否比较;不把纳秒当毫秒。
怎样确认处理到位
耗时的起止点、单位和样本条件明确,日志可关联事件且不泄露敏感资料,优化结论只覆盖实际测量范围。
容易误判的边界
单调计时不等于自动获得准确业务结论;缓存、输入规模与采样方式仍会影响比较,不能由一次请求推断长期表现。
