`
jjw
  • 浏览: 65497 次
文章分类
社区版块
存档分类
最新评论

java app的每次请求消耗内存和young区配置大小的关系

阅读更多

写了个shell脚本跑了大概1个小时,了解一下young区配置为多少大的时候,每次申请内存的大小和QPS的关系

 

每个申请用ab进行压测,先压测1000次,这个1000次是预热,然后再压测30000次,然后修改配置,重启tomcat,不断重复上面过程,取得结果,:

 

-XX:NewSize

QPS(申请3M)

QPS(申请4M)

QPS(申请5M)

QPS(申请6M)

QPS(申请7M)

GC(count)

GC(real时间)

128

881

634

456

382

314

8098

94.2

178

943

704

548

427

350

5533

60.77

228

951

739

576

469

385

4219

37.72

278

983

757

601

490

409

3316

28.62

328

980

767

609

507

427

2734

23.24

378

953

769

610

513

436

2306

19.28

428

996

766

618

521

449

2002

16.8

478

973

757

629

528

450

1756

15.78

528

992

765

633

531

453

1576

13.23

578

1006

786

624

533

466

1431

11.66

628

977

776

634

535

461

1304

11.03

678

1003

775

633

544

462

1202

10.2

728

1001

783

638

534

465

1115

9.19

778

999

792

643

531

474

1037

8.68

828

1014

787

642

538

472

971

8.18

878

1014

782

640

545

471

913

7.59

928

1006

790

645

542

473

859

7.12

978

998

793

643

535

466

812

7.76

 

以上表格用折线图表示:

 

 

 

看起来还是有规律的:

 

申请内存

QPS转折点:

young/申请的内存

3M

92.66666667

4M

94.5

5M

95.6

6M

104.6666667

7M

111.1428571

 

 

根据上面数据得到的总结:

1、      Young区越大性能越好

2、      每次请求的内存M,和young区的内存Y Y超过M100倍左右时QPS提升不再明显

3、      我们的监控能得到每个系统的每次请求的内存大小,然后根据young的配置,可以给出优化建议
4、    系统是否需要升级到64位可以由此进行判断

 
分享到:
评论

相关推荐

    java APP抓包工具

    它可以监控应用的网络活动,包括请求时间、大小和状态,特别适合快速定位网络问题。 5. **MITMProxy**:这是一款开源的交互式HTTPS代理,适用于各种平台,包括命令行和图形界面。MITMProxy可用于拦截、查看和修改...

    java处理小程序授权和app微信授权

    本文将详细讲解如何使用Java处理小程序和App的微信授权,以及解析小程序传递的`encryptedData`参数,以获取移动端用户的详细信息。 首先,小程序授权主要依赖微信开放平台提供的OAuth2.0协议,它允许第三方应用在...

    uni-app封装请求完成示例项目

    【uni-app封装请求完成示例项目】是一个专为uni-app框架设计的实用示例,旨在帮助开发者更高效地处理网络请求。uni-app是一款基于Vue.js开发的多端框架,能够一次编写,多端运行,覆盖H5、小程序、App等平台。在实际...

    appengine-java-sdk-1.3.1 GoogleApp开发的SDK(Java版)

    标题中的"appengine-java-sdk-1.3.1"指的是Google App Engine的Java版本SDK,这是一个用于在Google云平台上开发和部署Java应用程序的工具包。这个SDK包含了运行和测试Google App Engine应用所需的所有组件,包括开发...

    安卓Java原生开源小说APP源码.zip

    这款名为"安卓Java原生开源小说APP源码"的项目是一个专为Android平台设计的开源应用,它允许用户自定义小说阅读来源,并提供了超过300个预设的书籍资源。这个应用程序是用Java编程语言编写的,符合Android平台的原生...

    java 微信APP支付Demo

    2. **商户配置**:在使用微信APP支付前,需要在微信商户平台上注册并获取必要的配置信息,如商户ID(partnerid)、API密钥(appkey)等,这些信息将在支付过程中用于身份验证和签名计算。 3. **统一下单接口**:...

    appengine-java-sdk

    5. **性能监控**:AppEngine提供了详细的性能监控工具,包括请求统计、内存使用情况、CPU使用率等,帮助开发者优化应用性能。 6. **版本控制**:SDK支持多版本部署,可以同时运行不同版本的应用,方便对比和回滚。 ...

    2021年包更原生安卓影视app苹果CMS对接 原生JAVA影视APP源码

    原生Java影视APP源码意味着该应用是直接用Java语言编写的,没有依赖任何中间层或混合框架,这通常能带来更高的性能和更好的设备兼容性。开发者可以深入到Android系统的底层,充分利用硬件资源,实现流畅的播放体验和...

    扫码下载app代码说明(java,web)

    这里的"扫码下载app代码说明(java,web)"指的是使用Java和Web技术实现这一功能的代码实践。下面我们将深入探讨这个话题。 首先,我们需要了解扫码下载的基本流程: 1. **生成二维码**:服务器端根据Android和iOS...

    2023全新借贷APP系统源码 独立uni前端 java后端 全开源.zip

    源码分为前端和后端两个部分,前端使用了uni-app框架,而后端则是基于Java语言。以下是相关知识点的详细说明: 1. **uni-app**:uni-app是一款由ECharts团队开发的多端开发框架,它允许开发者用一套代码编写应用,...

    java代码发送JSON格式的httpPOST请求

    ### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...

    java环境配置与App Inventor环境配置详细教程

    标题和描述中提到的知识点主要包括Java环境的配置和App Inventor环境的配置。以下是根据提供的文件内容展开的详细知识点: ### Java环境配置 #### 获取Java安装包 - 访问Oracle官网下载指定版本的JDK安装包。 - ...

    app后台服务器java

    而Spring Boot是目前最流行的Java企业级应用开发框架,它极大地简化了配置和部署过程,提供了丰富的功能和插件支持。 1. **基础架构设计**: - RESTful API:为了提供良好的接口给app,后台服务器通常会采用...

    基于Java的为APP开发HTTP API应用的脚手架模板

    本文将深入探讨一个基于Java的为APP开发HTTP API应用的脚手架模板,这是一种预先配置好的框架,旨在加速开发过程,提供标准化的代码结构和最佳实践。 首先,我们来理解“脚手架”一词。在软件开发中,脚手架是一种...

    appweb4.3.4-0添加arm配置及源代码

    3. **配置解析**:AppWeb使用`conf.c`和`conf.h`中的函数来解析配置文件。了解这些函数的工作原理,可以方便地自定义服务器配置。 4. **路由与请求处理**:`http.c`和`http.h`包含了HTTP协议处理的实现,包括请求...

    支付宝APP支付java版

    支付宝APP支付Java版是支付宝为开发者提供的一种便捷的在线支付接口,主要应用于移动应用中的商品购买、服务费用收取等场景。在Java环境下实现支付宝APP支付,开发者需要掌握以下几个关键知识点: 1. **集成SDK**: ...

    APP+java后台调用微信支付

    在**Android APP支付后台** 的实现中,Android客户端首先向Java后台发送支付请求,包含商品信息等。后台服务器接收到请求后,会根据微信支付API生成预支付订单,然后将预支付订单ID及相关参数返回给APP。这部分涉及...

    AndroidApp定位和规避内存泄露方法研究

    总之,理解Android的内存管理和工具有助于开发者有效地定位和解决内存泄露问题,从而提升App的性能和稳定性。通过持续监控、合理设计代码结构和使用专业工具,可以显著减少内存泄露的发生,优化用户在使用Android ...

    java发送http请求报文json

    ### Java 发送 HTTP 请求报文 JSON 的实现方法 在现代软件开发中,HTTP 请求与响应是客户端和服务端之间通信的基础。对于 Java 开发者来说,能够熟练掌握如何使用 Java 来构建 HTTP 请求并发送 JSON 数据是一项重要...

    基于Java的新闻类app的实现代码

    这个应用程序的核心在于数据的获取、处理以及展示,我们将利用Java配合现代Android开发中的流行框架RxJava和Retrofit来完成这一任务。 首先,让我们来了解Retrofit。Retrofit是一款由Square公司开发的Java库,专门...

Global site tag (gtag.js) - Google Analytics