1、响应时间
响应时间是指系统对请求作出响应的时间。这个时间是指用户从软件客户端发出请求到用户接收到返回数据的整个过程所需要的时间,包括各种中间件(如服务器、数据库等)的处理时间。
响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。
客户感受的响应时间 = 客户端响应时间+服务器端响应时间+网络响应时间。
2、系统响应时间和应用延长时间
系统响应时间是指客户端接收到用户请求到客户端接收到服务器发来的数据所需时间。
应用延长时间指客户端接收到网站数据时呈现页面所需的时间。
3、吞吐量
吞吐量是指系统在单位时间内处理请求的数量。对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。
4、并发用户量
并发用户量、在线用户量、注册用户量的区别:
并发用户量指现实系统中操作业务的用户量,会对服务器产生压力,在性能测试中称为虚拟用户数(Virtual User);
在线用户量指挂在系统的用户量,只有活动的在线用户才会对服务器产生压力;
注册用户指数据库中存在的用户数。
(1)、用TPS(Transaction Per Second 每秒事务数)估算并发用户量
TPS普通计算:TPS=总请求数/总时间
TPS二八原则计算:TPS=(总请求数80%)/(总时间20%)
并发用户量=TPS*(运行时间+思考时间)
例如:某打卡软件有10万个用户,所有用户在8:30-9:10进行打卡,服务器响应时间0.2s,网络响应时间2s,客户端响应时间0.5s,思考时间为3s
普通估算:
TPS=100000/(4060)=41.7(业务量/秒)
并发用户量=41.7
(0.2+2+0.5+3)=238(人)
二八原则估算:
TPS=10000080%/(406020%)=166.7(业务量/秒)
并发用户量=166.7
(0.2+2+0.5+3)=950(人)
(2)、通过在线活动用户量估算并发用户量
平均并发用户量=平均每天访问的用户数每天用户从登录到退出的时长/考察时间长度
并发用户量峰值=平均并发用户量+平均并发用户量的立方根
例如:某打卡软件有10万个用户,用户从登录到退出的平均时长为2小时,用户在12小时之内会使用该系统,则:
平均并发用户量=100000
2/12=16666.7(人)
并发用户量峰值=16666.7+25.5=16693(人)
(3)、根据系统在线用户量估算并发用户量
并发用户量=系统最大在线用户数的8%到12%
例如:某打卡软件有10万个用户,则
并发用户量=10000010%=10000
(4)、通用估算
并发用户量=(80%
影响因子用户总量/统计时间)每人耗费的时间
例如:某打卡软件有10万个用户,统计时间为2小时,则
并发用户量=80%
3100000/(26060)5=166.7(人)
5、资源利用率
资源利用率反映的是在一段时间内资源平均被占用的情况,包括CPU利用率、内存利用率、磁盘利用率等。
CPU评估
用TPC-C(Transaction PerMinute每分钟完成多少笔交易)进行服务器评估
TPC-C=典型工作日平均业务交易总量(TASK)
80%(80%的业务交易集中在高峰时段)/典型工作日业务交易峰值持续时间(T以分钟为单位)复杂程度因子(s)业务冗余预留(F)/CPU利用率估值(C=75%)
复杂因子:一般复杂事务为6-12,较复杂事务为13-16,高度复杂事务为17-20,建议值为15
例如工作日有10万用户,每个用户进行30次交易,交易峰值持续时间12小时
TPC-C=(100000300.8)/(1260)101.5/75%=6.7万交易量/分钟
可选择单个服务器CPU达到该指标、或几个服务器集群达到该指标。
内存评估
内存需求=操作系统所占内存(4G)+数据库管理系统所占内存(4G)+Redis服务器所占内存(2G)+Tomcat服务器所占内存(4G)+应用程序所占内存(1G)
合理的内存利用率一般低于50%
内存=(4+4+2+4+1)/50%=30G
磁盘评估
磁盘需求=操作系统所需磁盘(40G)+数据库1年所需磁盘(30G)+数据及文件保存1年所需磁盘(30G)+数据库3年历史数据所需磁盘(90G)+数据及文件保存3年历史数据所需磁盘(90G)+其它(20G)
硬盘空间的利用率一般不超过85%
硬盘=(40+30+30+90+90+20)/85%=352G
网路评估
网络需求=单个用户最大数据量并发用户量
合理的网络利用率一般低于50%
例如:单个用户每秒最大数据量为1K,并发用户数10000,则
网速=(1000*10000)/50%=20M
6、测试评估
(1)、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。
(2)、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。
(3)、容量测试;一般指模拟用户不断增加时,确定系统可以处理同时在线的最大用户数量。斜体样式

软件的性能指标及评估方法相关推荐

  1. 软件项目规模评估方法之软件源代码行法

    软件项目规模的评估方法有很多,我们近期会把这些方法一一进行梳理然后发布出来供大家学习了解.今天我们来说说软件项目规模评估方法中的软件源代码行法. 软件源代码行法(SLOC)是以软件的源代码行数量来计算 ...

  2. Performance Metrics(性能指标1)

    Performance Metrics(性能指标) 在我们开始旅行本书之前,我必须先了解本书的性能指标和希望优化后的结果,在第二章中,我们探索更多的性能检测工具和性能指标,可是,您得会使用这些工具和明 ...

  3. 衡量软件交付性能的4个指标

    目录 软件交付性能指标 部署频率 变更准备时间 变更失败率 平均恢复时间(MTTR) 总结 当你的团队需要通过持续集成和持续交付(CI/CD)流水线将代码部署到生产环境时,衡量这些应用程序交付的速度和 ...

  4. [机缘参悟-68]:深度思考-人的心理系统与软件系统模型与性能指标比较(可用性、可靠性、可维护性、鲁棒性、适应性、反脆弱性、成熟性)--- 人工智能启示

    目录 1. 程序: 2. 进程与进程间通信 2.1 什么是进程 2.2 线程 2.3 进程间通信 3. 人与人交往 3.1 个人 3.2 人际关系 4. 从软件程序的角度看人与人交往 4.1 网络 V ...

  5. 监控组态软件2008年最新发展及趋势

      一.背景 自2000年以来,国内监控组态软件产品.技术.市场都取得了飞快的发展,应用领域日益拓展,用户和应用工程师数量不断增多.充分体现了"工业技术民用化"的发展趋势. 监控组 ...

  6. 《软件性能测试、分析与调优实践之路》简介

    <软件性能测试.分析与调优实践之路>,京东当当天猫都有发售.几十所高校选为教材.所有的软件测试人员.软件开发人员都应该学习一下. 系统或者软件性能的重要性自然是无须多言,永远没有哪个用户可 ...

  7. 搞懂性能指标专业术语,性能面试不再懵圈

    1.性能测试分类 性能测试: 使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程.包含负载和压力测试 负载测试: 系统在不同负载下的表现,通过该项测试可以寻求到系统在不同负载下的性 ...

  8. 【软考系统架构设计师】2009年下系统架构师综合知识历年真题

    [软考系统架构设计师]2009年下系统架构师综合知识历年真题 2009年下系统架构师综合知识历年真题 [软考系统架构设计师]2009年下系统架构师综合知识历年真题 [2009下架构真题第01题:绿色] ...

  9. 九、软考·系统架构师——系统架构质量及评估

    系列文章 一.程序员进阶架构师的基础知识[计算机基础] 二.程序员进阶架构师的基础知识[操作系统] 三.程序员进阶架构师的基础知识[计算机网络基础] 四.程序员进阶架构师的专业知识[软件工程基础] 五 ...

最新文章

  1. Spring知识点提炼
  2. InfoWorld的日志管理系统评测
  3. python多线程下载ts_基于Python的ERA-5多线程下载(1)
  4. 【Linux入门学习之】vi/vim编辑器必知必会
  5. linux命令mov,汇编指令_Y-linuz-linux-w_新浪博客
  6. 如何在没有域的环境中搭建AlwaysOn(二)
  7. 源码装置vsftpd
  8. 12.统计 日志 ip
  9. sql连接本地数据库
  10. 数据挖掘工具weka之weka包的安装
  11. 二分类模型(清风建模学习笔记)
  12. 大学英语四六级13年12月大改革应对办法全套复习规划
  13. 免费专利查询和专利下载网站分享
  14. 小程序源码:拼图工具箱支持多种拼图模式制作-多玩法安装简单
  15. Speech Representation预训练模型综述
  16. 计算机培训word,最新计算机培训word.pptx
  17. 《Tsinghua os mooc》第1~4讲 启动、中断、异常和系统调用
  18. 非会员免费建立QQ群的方法!
  19. VIM_readme
  20. java.util.Date和java.sql.Timestamp转换

热门文章

  1. 假设检验和P值那些事
  2. 【正点原子FPGA连载】第六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南
  3. Apache运行正常,但是localhost却打不开页面
  4. 亚马逊云科技的AI新引擎,如何助力企业应对“乌卡时代”?
  5. 19.jvm内存结构部分——堆_内存诊断_jmap
  6. js jquery给input标签赋值、取值
  7. Java项目:基于SSM的婚纱影楼管理系统(计算机毕业设计)
  8. LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
  9. CAD控件 出三维控件!和手机CAD控件了,欢迎大家使用!
  10. 蓝牙路由器解决方案行业应用