用户有角色之分,有业务人员,运维人员,管理人员等。不同角色的用户有不同的关注点,我们要站在不同用户的角度考虑性能问题。业务人员不关心系统吞吐量、网络带宽、点击率等,他们只在乎良好的操作体验,运维人员更关心系统的资源消耗,管理人员更关心系统能否实现预期管理目标,降低成本,创造利润,这些都可以归结为用户体验。为了保障用户体验,我们得有和用户一致的目标。在系统交付用户前,我们需要模拟用户操作,对系统性能进行测试,通过大量的模拟测试和系统调优,最大化性能,防止宕机或出现系统效率低下等影响用户体验的问题,将交付用户后可能出现的性能风险降到最低。对于已上线系统,还要通过改进系统来最大化成本和效益的比率,具体目标可能包括:
- 处理更大或更紧迫的工作负载,而不增加处理成本;
- 获得更快的系统响应时间或更大的吞吐量,而不增加处理成本;
- 降低处理成本,而不会降低对用户的服务;
- 更有效的利用资源;
- 能够向系统添加更多的用户;
用户体验是个主观性的概念,首先需要消除主观臆断,达成共识,然后通过精确的模拟用户操作,来获得相对真实的用户体验,从而客观的评估系统性能。我们和用户达成的共识,就是我们最终的性能目标。性能目标至少要明确在预定义的并发用户下可接受的最大响应时间,基本的基础软硬件运行环境。性能目标要尽可能的分解并量化成性能指标,要求每个分解后的指标都可度量,比如响应时间多少秒、会话持续时间多长、多少并发用户数、服务器资源使用率在多少内等,常见的性能目标如下表示例。
性能测试目标
性能测试目标例子
度量最终用户的响应时间
完成一个业务流程需要多长时间?
如:10用户同时登录,多长时间服务器可以返回数据!
定义最佳硬件配置
哪一种硬件配置可以提供最佳性能?
检查可靠性
系统无错误或无故障运行的难度或时间长度是多少?
查看硬件或软件升级
升级对性能或可靠性有何影响?
评估新产品
应选择哪些服务器硬件或软件?
度量系统容量
在性能没有显著下降的情况下,系统能够处理多大的负载?
确定瓶颈
什么因素导致响应时间延长?