当前位置: 首页 > news >正文

软件性能评估

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、软件性能关注点
1、 架构设计是否合理
2、 数据库设计是否合理
3、 代码是否存在性能方面的问题
4、 系统中是否有不合理的内存使用方式
5、 系统中是否存在不合理的线程同步方式
6、 系统中是否存在不合理的资源竞争

二、性能指标及计算公式

1、响应时间:对请求作出响应所需要的时间

 
网络传输时间:N1+N2+N3+N4
应用服务器处理时间:A1+A3
数据库服务器处理时间:A2
响应时间=N1+A1+N2+A2+N3+A3+N4

2、并发用户数的计算公式 
系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是2000个,那么这个数量,就是系统用户数   
同时在线用户数:在一定的时间范围内,最大的同时在线用户数量 平均并发用户数的计算:C=nL / T  其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统) 并发用户数峰值计算: C^约等于C + 3*根号C    其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论   

3、吞吐量的计算公式  指单位时间内系统处理用户的请求数  从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量 从网络角度看,吞吐量可以用:字节/秒来衡量  对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。  当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R / T  其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间   

4、性能计数器  是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。   资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。

5、思考时间的计算公式  Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做新能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。  在吞吐量这个公式中F=VU * R / T说明吞吐量F是VU数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS    下面给出一个计算思考时间的一般步骤: A、首先计算出系统的并发用户数 C=nL / T     F=R×C B、统计出系统平均的吞吐量      F=VU * R / T R×C = VU * R / T C、统计出平均每个用户发出的请求数量   R=u*C*T/VU  D、根据公式计算出思考时间  TS=T/R

转载于:https://my.oschina.net/u/1459764/blog/206703

相关文章:

  • Oracle 11g系列:数据库
  • 【Node.js】初体验之安装和HelloWorld
  • 调整弹出对话框在ASP.NET应用程序的大小
  • Javascript延时函数
  • yum源
  • 设计模式之四(抽象工厂模式第二回合)
  • ListView小知识整理:滑动背景、Item间隙等
  • 关于mysql_fetch_****
  • 生成新的内容如何获取当前生成内容的id
  • 锁分类
  • PXE 服务详解
  • 删除字符串中的空格
  • 反编译APK文件
  • 学习日记(一)----BaseActivity的写法
  • 【Android-View】点击侧滑菜单(SlidingMenu)按钮,更新主题内容时容易引发的内存问题解决方案...
  • 网络传输文件的问题
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • C++类的相互关联
  • go append函数以及写入
  • HashMap剖析之内部结构
  • JS实现简单的MVC模式开发小游戏
  • Linux链接文件
  • MySQL几个简单SQL的优化
  • node入门
  • PaddlePaddle-GitHub的正确打开姿势
  • Python3爬取英雄联盟英雄皮肤大图
  • python学习笔记-类对象的信息
  • Shell编程
  • 当SetTimeout遇到了字符串
  • 给github项目添加CI badge
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 盘点那些不知名却常用的 Git 操作
  • 配置 PM2 实现代码自动发布
  • 如何利用MongoDB打造TOP榜小程序
  • 小试R空间处理新库sf
  • 学习JavaScript数据结构与算法 — 树
  • 【云吞铺子】性能抖动剖析(二)
  • python最赚钱的4个方向,你最心动的是哪个?
  • # 达梦数据库知识点
  • #单片机(TB6600驱动42步进电机)
  • #考研#计算机文化知识1(局域网及网络互联)
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (蓝桥杯每日一题)love
  • (利用IDEA+Maven)定制属于自己的jar包
  • (六)Hibernate的二级缓存
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)基于IDEA的JAVA基础10
  • (译) 函数式 JS #1:简介
  • .gitignore文件—git忽略文件
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net 发送邮件
  • .Net 路由处理厉害了