内容简介:CPU占用率、内存使用率、磁盘IO、网络IO当系统压力上升时,系统响应时间的上升曲线是否平缓
- CPU
- 如果应用需要大量计算,会长时间占用CPU资源,导致其它应用因无法争夺到CPU而响应缓慢
- 场景:代码递归导致的无限循环,JVM频繁的Full GC、多线程编程造成的大量上下文切换
- 内存
- Java程序一般通过JVM对内存进行分配管理,主要使用JVM中的堆内存来存储 Java 创建的对象
- 但内存空间有限,当内存空间被占满,对象无法回收,会导致内存溢出,内存泄露等问题
- 磁盘IO
- 网络:带宽
- 异常:Java应用中,抛出异常需要构建异常栈,对异常进行捕获和处理,这个过程非常消耗系统性能
- 数据库:数据库的操作往往涉及到磁盘IO的读写,大量的数据库读写操作,会导致磁盘IO的性能瓶颈
- 锁竞争
- 在并发编程中,经常需要使用到多线程,并发读写同一个共享资源,为了保证数据原子性,会用到锁
- 锁的使用会带来上下文切换,从而给系统带来性能开销
性能指标
响应时间
- 一个接口的响应时间一般在 毫秒级
- 数据库响应时间:数据库操作所消耗的时间,往往是整个请求链中 最耗时 的
- 服务端响应时间:包括Nginx分发请求所消耗的时间以及服务端程序执行所消耗的时间
- 网络响应时间:在网络传输时,网络硬件对需要传输的请求进行解析等操作所消耗的时间
- 客户端响应时间:对于普通的Web、App客户端来说,该阶段的消耗时间是可以忽略不计的
吞吐量
- 在测试中,比较关注 TPS (Transactions per second)
- 在系统中,可以把吞吐量分为两种: 磁盘吞吐量 、 网络吞吐量
- 磁盘吞吐量
- IOPS :每秒的输入输出量(或读写次数),关注的是 随机读写性能
- 小文件存储、OLTP数据库、邮件服务器
- 数据吞吐量 :单位时间内可以成功传输的数据量,对于大量顺序读写的应用,会传输大量连续数据
- 视频编辑、视频点播
- IOPS :每秒的输入输出量(或读写次数),关注的是 随机读写性能
- 网络吞吐量
- 在网络传输没有帧丢失的情况下,设备能够接受的最大数据速率
- 网络吞吐量的大小主要由 网卡的处理能力、带宽大小、内部程序算法 决定
资源使用率
CPU占用率、内存使用率、磁盘IO、网络IO
负载承受能力
当系统压力上升时,系统响应时间的上升曲线是否平缓
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- C# 标准性能测试
- 如何制定 Java 性能调优标准?
- Android 12 进入 Beta 阶段,改善 UI 和隐私,并引入高性能标准
- 中兴通讯助力DevOps标准发布,喜获标准工作组成员授牌
- CODING 受邀参与 DevOps 标准体系之系统和工具 & 技术运营标准技术专家研讨会
- 中国电子技术标准化研究院雷虎:以标准为依托,构建区块链测试生态
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Domain-Driven Design
Eric Evans / Addison-Wesley Professional / 2003-8-30 / USD 74.99
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is n......一起来看看 《Domain-Driven Design》 这本书的介绍吧!