系统性能测量与优化全解析
1. 系统吞吐量与瓶颈
系统吞吐量受限于系统中的约束条件,也就是瓶颈。对非瓶颈部分进行性能优化并不能提高吞吐量。例如,若数据库限制了事务吞吐量,即便优化其他部分,如应用服务器的非瓶颈环节,也无法提升整体吞吐量。只有解决数据库这个瓶颈,如采用更快的存储、添加索引或使用更好的数据库技术,才可能提高吞吐量。
当测量终端用户请求数量时,吞吐量会随请求数量变化,这体现了系统的可扩展性。水平可扩展的系统意味着可以通过增加容量(如更多服务器、更多 Pod 或容器)来处理更多吞吐量。在无共享架构中,可以不断增加容量,直到达到已知的瓶颈,如 OpenShift 中每个节点的 Pod 数量上限或每个集群的最大节点数。
不同系统的“可接受响应时间”也不同。对于移动或 Web 应用,超过一两秒的响应时间可能导致用户离开;而银行交易系统的响应时间可能需控制在毫秒级。要了解系统所需容量,需运用系统思维,先整体理解系统,再分析其组成部分,从而确定系统瓶颈。
2. PetBattle 性能测试
PetBattle 发布后可能会面临大量用户访问,大流量可能引发应用程序的挂起、死锁和竞态条件。因此,PetBattle 团队计划进行特殊的压力测试,针对 UI 和 API 层的深层链接或热门 URL 进行测试。目前用户与数据库直接耦合,扩展时可能需要某种缓存机制。
团队将 PetBattle 应用套件部署到可进行性能测试的环境中,从简单地针对系统各部分(如 API)开始,了解系统在负载下的行为。尽早且频繁地进行测试,有助于识别瓶颈并制定修复计划。将性能测试提前到构建和部署过程中,能提供更快的反馈,便于在开发周期早期发现和解决问题。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



