Java性能 -- 性能调优标准

栏目: 数据库 · 发布时间: 5年前

内容简介:CPU占用率、内存使用率、磁盘IO、网络IO当系统压力上升时,系统响应时间的上升曲线是否平缓
  1. CPU
    • 如果应用需要大量计算,会长时间占用CPU资源,导致其它应用因无法争夺到CPU而响应缓慢
    • 场景:代码递归导致的无限循环,JVM频繁的Full GC、多线程编程造成的大量上下文切换
  2. 内存
    • Java程序一般通过JVM对内存进行分配管理,主要使用JVM中的堆内存来存储 Java 创建的对象
    • 但内存空间有限,当内存空间被占满,对象无法回收,会导致内存溢出,内存泄露等问题
  3. 磁盘IO
  4. 网络:带宽
  5. 异常:Java应用中,抛出异常需要构建异常栈,对异常进行捕获和处理,这个过程非常消耗系统性能
  6. 数据库:数据库的操作往往涉及到磁盘IO的读写,大量的数据库读写操作,会导致磁盘IO的性能瓶颈
  7. 锁竞争
    • 在并发编程中,经常需要使用到多线程,并发读写同一个共享资源,为了保证数据原子性,会用到锁
    • 锁的使用会带来上下文切换,从而给系统带来性能开销

性能指标

响应时间

Java性能 -- 性能调优标准
  1. 一个接口的响应时间一般在 毫秒级
  2. 数据库响应时间:数据库操作所消耗的时间,往往是整个请求链中 最耗时
  3. 服务端响应时间:包括Nginx分发请求所消耗的时间以及服务端程序执行所消耗的时间
  4. 网络响应时间:在网络传输时,网络硬件对需要传输的请求进行解析等操作所消耗的时间
  5. 客户端响应时间:对于普通的Web、App客户端来说,该阶段的消耗时间是可以忽略不计的

吞吐量

  1. 在测试中,比较关注 TPS (Transactions per second)
  2. 在系统中,可以把吞吐量分为两种: 磁盘吞吐量网络吞吐量
  3. 磁盘吞吐量
    • IOPS :每秒的输入输出量(或读写次数),关注的是 随机读写性能
      • 小文件存储、OLTP数据库、邮件服务器
    • 数据吞吐量 :单位时间内可以成功传输的数据量,对于大量顺序读写的应用,会传输大量连续数据
      • 视频编辑、视频点播
  4. 网络吞吐量
    • 在网络传输没有帧丢失的情况下,设备能够接受的最大数据速率
    • 网络吞吐量的大小主要由 网卡的处理能力、带宽大小、内部程序算法 决定

资源使用率

CPU占用率、内存使用率、磁盘IO、网络IO

负载承受能力

当系统压力上升时,系统响应时间的上升曲线是否平缓


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript设计模式

JavaScript设计模式

Ross Harmes、Dustin Diaz / 谢廷晟 / 人民邮电出版社 / 2008 / 45.00元

本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些JavaScript 程序员最常见的任务,然后运用设计模式使其解决方......一起来看看 《JavaScript设计模式》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换