性能测试之 JVM 概念认识】的更多相关文章

无论什么语言,在程序运行过程中,都需要对内存进行管理,要知道计算机/服务器的内存不是无限的.例如:C语言中需要对对象的内存负责,需要用delete/free来释放对象:那JAVA中,对象的内存管理是由JVM自动管理的. JVM是很有必要的了解认识的,因为在程序性能调优中极其重要的两个判断方向--运行时间和运行空间,都需要具备JVM的知识理解和工具使用,知其所以然才能无往不利 JVM虚机机的历史和类型 内存模型 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指…
VisualVM 是随JDK一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是其精华所在. 提供了一个可视界面,用于在Java应用程序在Java虚拟机上运行时查看有关Java应用程序的详细信息.此信息可用于对本地和远程应用程序进行故障排除以及对本地应用程序进行性能分析. 使用Java VisualVM,可以生成和分析堆转储,跟踪内存泄漏,执行和监视垃圾回收以及执行轻量级内存和CPU性能分析.该工具对于调整,堆大小,脱机分析和事后诊断也很有用. 使用方法 启动 cd <JDK_HOM…
JVM异常说明(超链接) 一文中已介绍了,JVM每个运行时区域--程序计数器 .Java虚拟机栈.本地方法栈.Java堆.方法区.直接内存发生OutOfMemoryError的不同原因和不同错误信息. Java堆,是线程共享内存,几乎所有的对象实例以及数组都应在堆上分配.如下堆的内存泄漏错误也是我们常常遇到的 java.lang.OutOfMemoryError: Java heap space 工具VisualVM的介绍 使用VisualVM排查堆内存泄漏 查看GC 老年代Old和年轻代Ede…
死锁原因 Java发生死锁的根本原因是:在申请锁时发生了交叉闭环申请.即线程在获得了锁A并且没有释放的情况下去申请锁B,这时,另一个线程已经获得了锁B,在释放锁B之前又要先获得锁A,因此闭环发生,陷入死锁循环. 监控死锁 VisualVM监控工具有明显线程死锁提醒,也可监控到发生死锁的线程.类.代码行数.数据类型. 分析死锁 VisualVM生成threaddump,查找死锁代码块内存地址 VisualVM生成heapdump, 使用OQL查看被死锁对象的值和引用 select heap.fin…
安装配置Grafana参考 https://testerhome.com/articles/23629 使用配置 下载jmx_exporter https://github.com/prometheus/jmx_exporter 创建jmx_exporter配置文件 vim simple-config.yml lowercaseOutputLabelNames: true lowercaseOutputName: true whitelistObjectNames: ["java.lang:ty…
上一篇文章<公司HBase基准性能测试之准备篇>中详细介绍了本次性能测试的基本准备情况,包括测试集群架构.单台机器软硬件配置.测试工具以及测试方法等,在此基础上本篇文章主要介绍HBase在各种测试场景下的性能指标(主要包括单次请求平均延迟和系统吞吐量)以及对应的资源利用情况,并对各种测试结果进行分析. 测试结果 单条记录插入 测试参数 总记录数为10亿,分为128个region,均匀分布在4台region server上:插入操作执行2千万次:插入请求分布遵从zipfian分布: 测试结果 资…
性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMeter.通过运行JMeter的远程模式,你可以通过多个低配制的电脑复制测试计划用于模拟一个大数据量的压力并发在服务器上.一个JMeter客户端实例可以控制多个远程JMeter实例,并收集所有数据信息.特点如下: · 保存测试样例在本机电脑 · 通过一台机器来管理多台JMeter测试机 · 不需要复制…
性能计数器(counter)是描述服务器或操作系统性能的一些数据指标.计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性.进行性能瓶颈的定位时,对计数器的取值的分析非常关键.但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的计数器. 与性能计数器相关的另一个术语是“资源利用率”.该术语指的是系统各种资源的使用状况.为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较. 性…
性能测试培训:Ajax接口级性能测试之jmeter版   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest认为工具不是问题,jmeter还是loadrunner都是工具级别的,真的提高性能测试水平,还是需要具备一定架构知识,网络知识,服务器方面的知识,poptest通过大量的实战案例的讲解提高学员的实战经验,尽快上手性能测试.(大家对课程感兴趣,请加qq:908821478) 1.  被测程序环境部署 对于自动…
老李分享知识:性能测试之TPS和吞吐率        当增大系统的压力(或添加并发用户数)时,吞吐率和TPS的改变曲线呈大体一致,则系统基本稳定. 若压力增大时,吞吐率的曲线添加到一定程度后出现改变缓慢,甚至平坦,同时TPS也趋于平坦,查看系统资源运用,假如资源运用率比较低,说明服务器硬件资源不存在疑问,查看网络流量,估计网络带宽存在疑问. 同理若点击率/TPS曲线出现改变缓慢或者平坦, 点击率(用户每秒发出的请求数)假如在压力添加时,趋于平坦,很可能是服务器响应时间添加,观察服务器资源运用情况…