文档章节

《Java性能优化指南》读书笔记-JVM性能调优入门

杨武兵
 杨武兵
发布于 2015/07/30 09:03
字数 739
阅读 111
收藏 1

系统需求概述

Java系统的非功能性需求都统称为系统需求,包括这些方面的内容:

1.内存使用需求。  一般指系统行时所需要的内存空间,度量单位一般是G或者M.
2.延迟及响应性需求。一般指系统对用户请求的响应时长,一般用tp99或者tp999的值来度量。
3.吞吐量需求。指系统单位时间里能够处理的事务数。一般我们用tps来度量。
4.可用性需求。指系统处于可使用状态的度量,一般用可用率来度量。
5.可管理性需求。指对由运行、监控系统而产生的操作性开销的度量,同时也包含了系统配置的难以程度,用于衡量系统管理的难易程度。
6.启动时间。系统初始化完成到能够提供服务所消耗的时间。


上述内容是对常见的和常关注的系统需求的一个概括,实际系统的非功能性需求应该远不止这些,可能一些非常少见的系统关注的系统需求也不止上述这些内容。


确定系统需求优先级

系统需求中的内容有很多因素之间是相互矛盾的,不可兼得。

比如:

1.降低内存使用,有可能导致系统响应时间变长,吞吐量下降,甚至可用性降低。

2.提升吞吐量,可能需要增加内存,增加部署的JVM数量,这样可管理性就会降低,响应时间有可能增加。

因此我们针对特定的业务系统,根据系统的特点,我们应该做些取舍,选择合适的系统需求优先级,根据优先级来进行调优选择。我认为在我们的实际应用场景中应该有这样一些类型的系统。


系统类型    系统需求优先级        

用户浏览型

如:门户网站前台系统、公共信息展示

响应时间: 高

吞吐量:

可用性:高

可管理性:中

内存使用: 低

启动时间:低

用户操作型

如:用户后台操作系统、

响应时间: 高

可用性:高

吞吐量:中

可管理性:中

内存使用: 低

启动时间:低


后台服务型

如:提供对内、对外接口服务的系统。

响应时间: 高

可用性:高

吞吐量:高

可管理性:中

内存使用: 低

启动时间:低


后台任务型

如:异步执行后台任务的系统,比如定时任务。

可用性:中

吞吐量:中

响应时间: 低

可管理性:中

内存使用: 中

启动时间:低








© 著作权归作者所有

共有 人打赏支持
杨武兵

杨武兵

粉丝 264
博文 61
码字总数 123254
作品 1
昌平
架构师
私信 提问
岁月划过生命线(2016 年终总结 -季度之星)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hanqing280441589/article/details/54862696 -季度之星 标签 : coder 年假结束, 明天就要回到杭州, 回到我f...

菜鸟-翡青
2017/02/04
0
0
web前端、c++、项目管理、java、php书籍10-40/本,转让

本人因转行,又因经济困难,所以转让一下书籍。按标价出售,人在北京。联系qq:602505 可在东城区、中关村、回龙观等地当面交易。 书新旧程度全部在9成新以上。 点击书名查看书籍介绍和原价。...

匿名网友
2011/02/24
1K
17
一个忙碌架构师的Java后端书架-2018

作者: 江南白衣 from 春天的旁边 Java后端开发,性能调优,唯品会基础架构,微服务实践的日常。 公众号:春天的旁边 见书单如面。 在这份书单里,我是这么一个同学:关心Java,关心架构,对...

Java高级架构
2018/09/07
0
0
阿里P8架构师总结的互联网Java架构系统化学习路线

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/83181980 网络应用,最常见的研发语言是Java的和PHP。 后端服务,最常见的...

JAVA高级架构v
2018/10/19
0
0
《成神之路-基础篇》JVM——JVM参数及调优(已完结)

Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是[《成神之路系列文章》][1]的第一篇,主要是关于JVM的一些介绍。 持续更新中 JVM参数及调优 JVM实用参数系列 成为Java GC专家(5)...

2018/05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JFinal开发的旅游线路营销Saas平台演示系统我部署了一个

今天部署了一个旅游线路营销管理系统的演示版: 演示地址:http://lvyou.jfinalxueyuan.com 演示账号:(暂时只给一个门店版的吧,批发商和总部的如果需要 演示看看 单独联系我微信:1876673...

山东-小木
今天
2
0
如何学习大数据技术

学习大数据技术,首先要明确大数据的概念。 大数据的概念作者认为有如下几点: 1.数据的来源多样性。例如关系数据库+文本+excel等 2.数据量大。TB级别的数据。 3.业务应用领域。实时性高与实...

董黎明
今天
3
0
开箱即用(out-of-box)的Redis序列号生成器,不用再写任何代码,你值得拥有

先看整体效果 把简单的东西“傻瓜化”是软件开发追求的目标之一。请看下图: 左边是在 application.yml 里配置了3个生成器,右边可以直接注入到代码中使用,注意,不用写任何代码。这酸爽。 ...

花漾年华
今天
1
0
算法我也不知道有没有下一个---一个题目的开端(索引堆与图)

病痛了一周,折磨来折磨去,终于还是平静了下来,现在能把上周末"贯穿"学到的最后一个基础数据结构的知识给沉淀沉淀了。也是即将再单位分享的东西:图论。这东西,想当年大二,学校的时候,只...

心中的理想乡
今天
1
0
Synchronized和Lock的区别

锁类型: 可重入锁:在执行对象中所有的同步方法时,不必再次去获取锁 可中断锁:在等待获取锁过程中可中断 读写锁:对线程的读写分为两个部分,读过程中多线程可一起访问readLock,写过程中...

最胖的瘦子
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部