概述

1,性能参数

2,性能排查方式

3,.NET的性能分析工具

1,性能指标

  一个系统的性能排查或者性能设计的前提就是要有明确的性能指标;常见的性能参数

1、响应时间(处理任务时的延迟,简称 RT,指的是业务从客户端发起到客户端接受的时间)。
2、吞吐量(简单讲就是系统在每单位时间内能处理多少个事务/请求/任务数据等)。
3、资源使用率(常见的资源有:CPU、内存、磁盘I/O、网络I/O)。
4、点击数(单位时间内,系统响应客户的请求,是系统处理能力的一个很有用的指标)。
5、并发用户数(并发用户数用来度量服务器并发容量和同步协调能力)。
6、数据库操作时间(属于响应时间的一部分)。

关于吞吐量,我们常常会遇到这样几个参数

TPS:就是我们通常说的吞吐量,也是服务端的每秒处理事务率,通常更关注TPS;可以衡量一个服务端或者系统的处理数据性能
QPS:是数据的每秒查询率,反映系统能抗住的用户的并发请求数压力
RPS:是阿里提出比较重要的性能指数,是每秒处理事务率
HPS:是用户每秒发起的请求率
PV:PV是page view的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv

重点说明一下

TPS:

  系统整体TPS取决于处理能力最低模块的TPS值
  TPS总是低于QPS
  系统的性能由 TPS 决定,跟并发用户数没有多大关系
  系统的最大 TPS 是一定的(在一个范围内),但并发用户数不一定,可以调整
  系统的性能由 TPS 决定,跟并发用户数没有多大关系系统的最大 TPS 是一定的(在一个范围内),但并发用户数不一定,可以调整
  从工作实践经验来看,大部分系统(常规复杂度的,别拿低复杂度的系统来杆)的TPS能在一台2核8G内存的阿里云ECS达到2000已经是非常优秀了;(我们公司系统在行业内也算是做的很靠前了,TPS的平均水平也只在1500,老系统,调用链比较长)
  TPS的描述

a.向服务器发请求

b.服务器自己的内部处理(包含应用服务器、数据库服务器等)

c.服务器返回结果给客户端

如果每秒能够完成N次这三个过程,TPS就是N

确定系统的性能指标

以响应和吞吐为核心指标,确定可量化的指标来衡量性能(不能使用主观的判断来确定性能指标);如下示例

在不超过1000个并发活跃请求的情况下,历史订单页面从请求开始不超过300ms
在不超过1000个并发活跃请求的情况下,应用服务器的cpu不得超过50%

不同的指标检测的级别不同:

内存分配,执行时间可以在系统级别,进程级别,独立方法,代码块上
相对于一个整体的cpu占用率,或者一个进程级别的占用时间;
特定方法的执行时间是一个更有效的执行指标

2,性能排查方法

  做性能排查前,先想想怎么样的优化才算性能提高?

  单个请求的响应时间未减少,但是单位时间内的处理的请求数增加了,这也是性能的提高
  能顶住1000W的请求,但是响应时间超过1分钟,这样没有意义
  响应时间很短,但是吞吐量太低,也没有意义(100毫秒响应,每秒只能处理10个用户下单请求......)

一般情况下:

吞吐量越大,往往响应会越差
响应越好,能支持的吞吐量就会越高
如果吞吐量很少,响应会非常稳定

如何进行性能排查,猜测的结果是不可靠的;根据应用程序的复杂度,所需要的信息类型,结果的精确度,是有不同的测试方法

白盒测试:先审查源代码,在书面/白板上分析它的复杂度,然后修改源码,插入测量代码;尤其是想知道精确的结果和了解使用的cpu指令时,
       缺点:太过耗时,对于大型应用不够灵活

黑盒测试:先明确测试指标,再用工具进行测试,不需要事先识别性能的瓶颈
       缺点:没有测试工具能做到能给出精确的测试数据的同时而不给系统的执行效率带来负面影响

3,NET的性能分析工具

....待更新

.NET性能排查的更多相关文章

  1. Sql Server CPU 性能排查及优化的相关 Sql

    Sql Server CPU 性能排查及优化的相关 Sql 语句,非常好的SQL语句,记录于此: --Begin Cpu 分析优化的相关 Sql --使用DMV来分析SQL Server启动以来累计使 ...

  2. Nginx 日志分析及性能排查

    Nginx 日志分析及性能排查 2017-03-04 Linux爱好者 (点击上方公众号,可快速关注) 作者:-外星人- my.oschina.net/362228416/blog/844713 如有 ...

  3. 重新整理 .net core 实践篇 ———— linux上性能排查 [外篇]

    前言 该文的前置篇为: https://www.cnblogs.com/aoximin/p/16839830.html 本文介绍性能排查. 正文 上一节是出现错误了,如何去排查具体问题. 这一节介绍一 ...

  4. Sql Server性能排查和优化懒人攻略

    转载自作者zhang502219048的微信公众号[SQL数据库编程]:Sql Server性能排查和优化懒人攻略 很多年前,笔者那时刚从广东技术师范学院(现为广东技术师范大学,以前为广东民族学院)的 ...

  5. mysql性能排查思路

      mysql性能瓶颈排查 top/free/vmstat/sar/mpstat 查看mysqld进程的cpu消耗占比 确认mysql进程的cpu消耗是%user, 还是sys%高 确认是否是物理内存 ...

  6. 一站式学习Wireshark(四):网络性能排查之TCP重传与重复ACK

    作为网络管理员,很多时间必然会耗费在修复慢速服务器和其他终端.但用户感到网络运行缓慢并不意味着就是网络问题. 解决网络性能问题,首先从TCP错误恢复功能(TCP重传与重复ACK)和流控功能说起.之后阐 ...

  7. Wireshark(四):网络性能排查之TCP重传与重复ACK

    原文出处: EMC中文支持论坛 作为网络管理员,很多时间必然会耗费在修复慢速服务器和其他终端.但用户感到网络运行缓慢并不意味着就是网络问题. 解决网络性能问题,首先从TCP错误恢复功能(TCP重传与重 ...

  8. 性能排查--CPU占用高

    排查思路: 1.先找到占用CPU高的进程PID    top命令 2.top -H -p <PID>  查看哪个占用CPU高的线程TID 3.jstack <PID>  /ho ...

  9. bfrd collector性能排查

     1.2.09上昨天timeout在18点23分-22点10分 2.检测2.17网卡流量,sar -f /var/log/sa/sa06 -n DEV,发现这段时间刚好是rxpck/s超过6400. ...

随机推荐

  1. Vue 使用$set动态给数据设置属性

    在实际的开发过程中,给表单元素绑定model的时候,绑定的元素的属性是根据后台数据动态生成的.如果使用常规的赋值方式,是无法更新视图的 需要使用, this.$set(dataName,keyName ...

  2. Atomic原子类

    Atomic原子类 Atomic原子类位于并发包java.util.concurrent下的java.util.concurrent.Atomic中. 1. 原子更新基本类型类 使用原子方式更新基本数 ...

  3. 地图绘制之basemap第一弹 basemap选择与安装

    作为一个测绘GIS专业的学生,会有很多绘制地图的需求,一般情况使用ArcGIS.QGIS就可以解决,但是在绘制如论文插图时需要使用更加专业可定制化程度更高的工具,专业传统一般使用GMT,几经比较,最终 ...

  4. Robot Framework(7)——接口测试

    一.准备工作 1.安装requests工具(2.22.0) 下载地址:https://pypi.org/project/requests/ 安装方式: 1>下载压缩文件,解压,目录切到解压目录, ...

  5. 小白学PyTorch 动态图与静态图的浅显理解

    文章来自公众号[机器学习炼丹术],回复"炼丹"即可获得海量学习资料哦! 目录 1 动态图的初步推导 2 动态图的叶子节点 3. grad_fn 4 静态图 本章节缕一缕PyTorc ...

  6. Shell编程—gawk进阶

    1使用变量 awk编程语言支持两种不同类型的变量: 内建变量 自定义变量 1.1内建变量 1. 字段和记录分隔符变量 数据字段变量允许你使用美元符号($)和字段在该记录中的位置值来引用记录对应的字段. ...

  7. Java8中的Stream API

    本篇文章继续介绍Java 8的另一个新特性——Stream API.新增的Stream API与InputStream和OutputStream是完全不同的概念,Stream API是对Java中集合 ...

  8. FlashFXP免费版下载

    http://www.wocaoseo.com/thread-294-1-1.html 关于互联网的上传下载软件可能有很多种,也有很多安装后免费使用的软件比如8UFTP等,但如果论起速度和功能性,个人 ...

  9. springboot文件上传(可单文件/可多文件)

    获取文件内容,是从InputStream中获取,添加到指定位置的文件 如下所示 public static void getFile(InputStream is,File fileName) thr ...

  10. 起源seo为何要做seo培训

    http://www.wocaoseo.com/thread-91-1-1.html 焦大,在2010年末左右开始接触seo,2011年3月份正式开始做seo,到如今做seo已经3年了,实话说我没有其 ...