众所周知,性能在提升网站留存率和转化率方面扮演着很重要的角色,尤其是对于转转这种电商网站,性能会间接影响到公司的收入。但是如果让你去你们网站应用的性能时,你会怎么回答。你可能会说:比市面上大部分网站好很多!这当然是一种主观,我们如何去客观的度量和衡量网站的性能呢?本篇文章将重点分享我们在转转如何通过合成监控来度量网站的性能,以及在实践过程中的一些经验。
合成监控简介
合成监控是一种主动监控技术,它模拟真实用户访问网站或应用程序,并定期从不同的地理位置和设备发送请求。通过收集和分析这些请求的响应时间、错误率和其他性能指标,我们可以主动发现和诊断网站或应用程序的性能问题,从而及时采取措施来解决问题。
转转的实践
1. 监控指标
我们主要关注以下几个监控指标:
- 首次字节时间(TTFB):服务器开始向浏览器发送第一个字节所需的时间。
- 页面加载时间:浏览器完全加载并渲染页面所需的时间。
- 可用性:网站或应用程序是否可以正常访问。
- 错误率:请求失败的次数。
2. 监控工具
我们使用 Apdex 作为我们的合成监控工具。Apdex 是一种开放标准,用于衡量用户对网站或应用程序性能的满意度。它将响应时间分为三类:
- 满意:响应时间小于或等于可接受的阈值。
- 容忍:响应时间大于可接受的阈值,但小于不可接受的阈值。
- 失败:响应时间大于不可接受的阈值。
我们根据不同的页面类型和用户场景设置了不同的 Apdex 阈值。
3. 监控频率
我们每 5 分钟从全球多个地点发送合成监控请求。这使我们能够实时监控网站的性能,并快速发现任何性能下降的情况。
4. 报警和通知
当合成监控检测到性能问题时,我们会收到警报。我们使用 PagerDuty 来管理警报,并确保相关人员及时收到通知。
5. 问题排查
一旦收到警报,我们会立即开始排查问题。我们通常会使用以下步骤:
- 检查日志文件和错误报告。
- 使用 Chrome DevTools 或 WebPageTest 等工具分析页面加载时间。
- 使用 tcpdump 或 Wireshark 等工具分析网络流量。
6. 持续改进
我们定期回顾我们的合成监控数据,并寻找改进网站性能的方法。我们使用以下一些技术来优化性能:
- 启用 HTTP/2。
- 使用内容分发网络(CDN)。
- 优化图像和 CSS 文件。
- 减少 JavaScript 的使用。
- 使用浏览器缓存。
结论
合成监控是转转衡量和改善网站性能的关键工具。通过主动监控网站的性能,我们可以快速发现和解决性能问题,从而确保用户获得最佳的体验。我们鼓励其他电商网站也采用合成监控来提高网站性能,提升用户体验。