接口背景假设:

接口条件:支持1000QPS
接口响应:100ms
接口返回报文: 10kb

一、计算 1000qps所需要的内存
那么1000qps的请求需求的内存:1000*10kb=10000kb=9.8M
也就是说每秒需要9.8M的内存。

二、计算多久触发一次ygc
说明:ygc即堆的年轻代进行GC回收,触发条件为:eden、from幸存区内存满了或者不够了就会触发。一般要求ygc达到分钟级别(即最多一分钟执行一次young  gc)

1、计算1000qps每分钟所需的新生代内存:60*9.8M=588M
      注:新生代内存与老年代内存的比例:1:2  (注:堆内存 = 新生代内存 + 老年代内存)
2、计算所需要堆的大小:588M * 3  = 1764M = 1.764G
3、那么堆内存设置2G就够了。

三、需要多少个节点实例
根据刚才计算的堆内存设置2G,单节点即可满足1000qps了。

如为了高可用可以部署2个节点,每个节点承担500qps即可。

四、计算最大支持并发数
springcloud springboot的线程数取决于tomcat的线程数,tomcat的默认线程数为200。
1、计算单个线程处理的qps:1000qps/100ms=10个
2、计算200线程处理的qps:   10个*200线程=2000qps

3、2000qps每秒需要的内存:2000qps*10kb=20000kb=20M左右
      注:2G的堆内存 ,新生代大概600M
4、计算2000qps的ygc时间: 600M/20M=30秒
     注:30秒ygc可以接受
5、所以最大支持并发数:2000qps

注:本场景,超过2000qps基本就不能再优化,需要通过加机器的方式来提高并发。

1000qps的JVM内存设置多大的内存相关推荐

  1. JVM内存设置多大合适?Xmx和Xmn如何设置?

    本文地址: https://www.dutycode.com/jvm_xmx_xmn_xms_shezhi.html 除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本 ...

  2. 【JVM原理与优化】JVM内存设置多大合适?Xmx和Xmn如何设置?

    原文地址:https://www.dutycode.com/jvm_xmx_xmn_xms_shezhi.html 问题: 新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置 ...

  3. JVM内存设置多大合适? Xmx和Xmn如何设置

    问题: 新上线一个java服务,或者是Rpc或者是Web站点,内存的设置改怎么设置呢?设置多大合适呢? 分析: 依赖的原则是根据Java Performance里面的推荐公式来进行设置. · 具体来讲 ...

  4. java xmx设置_JVM内存设置多大合适?Xmx和Xmn如何设置?

    问题: 新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢? 分析: 依据的原则是根据Java Performance里面 ...

  5. 内存虚拟化、内存复用、大页内存作用及详解

    内存虚拟化.内存复用.大页内存作用及详解 1. 内存虚拟化 2. 内存复用 2.1. 内存共享 2.2. 内存置换 2.3. 内存气泡 3. 大页内存 3.1. 大页内存原理 3.2. 大页内存配置 ...

  6. JVM XMX设置多大比较好,Docke容器里该怎么设置JVM呢@无界编程

    XMX是JVM的最大堆内存大小,XMS是JVM的初始堆内存大小. 不管是工作还是面试经常遇到一个问题就是XMX到底设置多大比较好? 网上的答案大多是说XMX和XMS设置为一样大,但是没有说到底XMX设 ...

  7. mysql内存片多大_内存带宽对mysql影响多大?

    网络是数据库基础架构的主要部分.但是,通常性能基准测试是在本地计算机上完成的,客户端和服务器并置在一起.这样做是为了简化结构并排除一个以上的变量(网络部分),但是我们也忽略了网络对性能的影响.对于像 ...

  8. 怎么设置java内存_如何修改jvm内存 内存设置过大

    斯蒂芬大帝 java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制.否则可能导致应用程序宕掉.-Xms128m:表示JVM Heap(堆内存)最小尺寸128MB,初始 ...

  9. JVM参数汇总:JVM内存设置多大合适?Xmx和Xmn如何设置

    一.java启动参数共分为三类: 其一是标准参数(-), 所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X), 默认jvm实现这些参数的功能,但是并不保证所有jvm实现 ...

最新文章

  1. POJ1067_取石子游戏_威佐夫博弈
  2. 三关节机械臂控制命令修改
  3. To connect to files.phpmyadmin.net insecurely, use `--no-check-certificate‘
  4. python3 动态创建类对象并调用函数
  5. java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 客户端通过SSH private key 登录远端服务器
  7. c++ mysql 导入sql_mysql导入sql文件命令和mysql远程登陆使用详解
  8. Java 位运算符 深入理解
  9. 解决bootstrap模态框居中问题
  10. 苦于E63没有秒表,网上找的不好用,就自己写个简单的
  11. Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
  12. linux下多线程断点下载工具-axel
  13. Linux使用信号量监控程序异常退出
  14. txt文件转为excel文件
  15. 解决sns加载数据load_dataset()报错问题
  16. 每日小结(就不平衡问题探讨)
  17. 使用Python将word转换为pdf
  18. 计算机函数sumif实例,「稻客说函数」SUMIF函数实例详解
  19. html输入框位置控制,JS 控制input 输入框光标位置
  20. SQL server 2019和 SSMS下载与安装教程

热门文章

  1. 如何看懂IIS服务器网站日志
  2. Python:从0到1销售预测建模
  3. 喜讯 | 金仓KingbaseES V8获选“中国软件行业协会2022年优秀软件产品”
  4. 教你手机如何查看真实的IP地址
  5. Lammps实现随机粗糙度表面沸腾
  6. vue.js实现一个会动的简历(包含底部导航功能,编辑功能)
  7. python将np保存成图片——大全
  8. 7-5 输出大写英文字母
  9. 【探讨】站长说说之SEO站内优化总结七点
  10. 莱斯特大学计算机排名,莱斯特大学计算机专业,好评率极高的大学