说起高性能,我们的第一反应就是高并发。海量数据。或者是系统调用特别快。
高并发系统
- 高并发用户 : 我们的系统能够hold住十万百万用户并发的请求。
- 高吞吐量 :单位时间内能够处理多少业务。每秒处理事务数 tps。请求 qps。衡量。
- 低延迟:每个具体业务请求过来,处理的时间都很短,立即返回。 不会经过特别长还没有处理完。
- 容量: 容量上限是多少?tps 、qps 最大支撑
wrk 压测。
wrk -c 40 -d 30s --latency url
-c:并发用户数--latency反映请求耗时,通常使用中位数或百分数表示。
高性能副作用
- 系统复杂度提高。
- 建设与维护成本+++++
- 故障或bug导致破坏性 更高。
就类似自行车和汽车来比,建造自行车,随随便便,维护也只是打打气就行。对汽车来说,维护成本就高了,天天加油,保养、保险等。自行车摔倒和汽车车祸也是破坏性不一样的。
应对策略
- 容量:应对预估不对,需要改造+扩展系统。
- 影响半径:系统变更,新系统部署,参数修改对系统的破坏性半径是多少?
- 工程方面积累和改进:把所有发生的故障、现场事件都积累下来。做根因分析。哪个模块、人容易出问题?针对性的去做措施。改进玩去塞回标准流程。