性能与压力测试
文章目录
性能与压力测试
一、性能监控
1、jvm内存模型
2、堆
3、jconsole与jvisualvm
1、jvisualvm能干什么
2、安装插件方便查看 GC
4、监控指标
1、中间件指标
2、数据库指标
5、 JVM 分析&调优
1、几个常用工具
2、命令示例
3、调优项
1、性能压测-优化-nginx动静分离
2、性能压测-优化-模拟线上应用内存崩溃宕机情况
1、JVM调优-设置商品服务启动参数进行比较,都以50个线程为例:
2、模拟线上应用内存崩溃宕机情况
3、性能压测-优化-优化三级分类数据获取
二、压力测试
1、性能指标
2、JMeter
1、JMeter安装
2、JMeter压测示例
3、JMeter Address Already in use 错误解决
一、性能监控
1、jvm内存模型
程序计数器 Program Counter Register:
记录的是正在执行的虚拟机字节码指令的地址
此内存区域是唯一一个在JAVA虚拟机规范中没有规定任何OutOfMemoryError的区域
虚拟机栈 VMStack:
2、堆
所有的对象实例以及数组都要在堆上分配。堆是垃圾收集器管理的主要区域,也被称为"GC堆”;也是我们优化最多考虑的地方。堆可以细分为:
新生代
Eden空间
From Survivor空间
To Survivor空间
老年代
永久代/元空间
Java8以前永久代,受jvm管理, java8以后元空间,直接使用物理内存。因此,默认情况下,元空间的大小仅受本地内存限制。
垃圾回收
从Java8开始, Hotspot已经完全将永久代(Permanent Generation)移除,取而代之的是个新的区域一元空间(MetaSpace)
3、jconsole与jvisualvm
JDK 的两个小工具 jconsole、jvisualvm(升级版的jconsole) ;通过命令行启动,可监控本地和远程应用。远程应用需要配置
jconsole:
1、jvisualvm能干什么
监控内存泄露,跟踪垃圾回收,执行时内存、cpu分析,线程分析
启动jvisualvm:
监控内存泄露,跟踪垃圾回收,执行时内存、cpu分析:
线程分析:
运行: 正在运行的
<