首先感谢各位前辈的博客分享,仅作自学记录的笔记,分享给0基础的朋友,大牛勿喷。 什么是软件性能? 不同角色视角的软件性能? 什么是软件性能 软件性能是软件的一种非功能特
- 什么是软件性能?
- 不同角色视角的软件性能?
什么是软件性能
软件性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,软件性能是系统对相应时间及时性及资源经济性的要求。
- 功能:表示一个人能做的事
- 性能:表示一个人做事的效率
由于感受软件的主体不一样,所以不同的人对同样的软件有不同的主观感受,且不同的人对软件性能关心视角也不一样。
- 用户
从用户角度,软件性能就是软件对用户操作的响应时间。
- 业务/产品
从业务/产品角度,软件性能就是软件对操作的响应时间。
- 运维关注
与用户视角不同的是,关心和系统状态相关的信息(如在一定并发数执行任务时,在响应合理的情况下,系统状态如何?cpu使用是不是达到了最大值?是否还有可用内存?数据库状况如何等等),还需要知道系统的可扩展性,性能瓶颈,怎样优化等等。
例如,服务器资源使用情况是否合理?应用服务器和数据库服务器资源使用情况是否合理?系统能最多支持多少用户的访问?最大的业务处理量是多少?系统是否支持 7*24小时的业务访问?更换那些设备能提交性能?
- dba关注
数据库服务器资源使用情况是否合理?
- 开发关注
从开发人员角度,主要关注响应时间,另外还会关心系统的扩展性等管理员关心的内容,最关注的是使性能表现不佳的因素和由于大量用户访问引发的软件故障,也就是通常所说的“性能瓶颈”和系统中存在的在大量用户访问时表现出来的缺陷。
- 架构关注
机构设计是否合理?
- 测试关注
以上角色都需要关注
(1)体验用户的角度来说,表现为软件系统对用户操作的响应时间。
(2)在系统或管理员的关注层面,还需要从软件性能的表现分析系统的可扩展、并发能力等指标。
(3)开发人员的角度来说,还需要为软件性能问题定位,了解性能制约因素和引起性能问题的关键原因。