Java 应用性能调优实践
摘要:Java 应用性能优化是一个老生常谈的话题,笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层、数据库层、框架层、JVM 层。通过介绍 Java 性能诊断工具和思路,给出搜狗商业平台的性能优化案例以供参考。 Java 应用性能优化是一个老生常谈的话题,笔者根据个人经验,将 Java 性
阅读全文
posted @
2016-11-23 11:30
duanxz
阅读(9963)
推荐(3) 编辑
mat(Eclipse Memory Analyzer tool)之二--heap dump分析
摘要:在工作中可能会遇到内存溢出这种灾难性的问题,那么程序肯定是存在问题,找出问题至关重要,上一篇文章讲了jmap命令的使用方法,当然用jmap导出的文件我们也看不懂啊,那就交给memory analyzer(mat)这个工具,让他帮助我们来观察程序的内存分布情况吧。 MAT 不是一个万能工具,它并不能处
阅读全文
posted @
2016-11-09 10:42
duanxz
阅读(10317)
推荐(2) 编辑
十三、jdk命令之Java内存之本地内存分析神器:NMT 和 pmap
摘要:目录 一、jdk工具之jps(JVM Process Status Tools)命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java V
阅读全文
posted @
2016-05-17 10:15
duanxz
阅读(7130)
推荐(1) 编辑
jvm调优之四:生产环境参数实例及分析【生产环境实例增加中】
摘要:java application项目(非web项目) 改进前: -Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadS
阅读全文
posted @
2015-10-18 22:01
duanxz
阅读(2360)
推荐(0) 编辑
一、jdk工具之jps(JVM Process Status Tools)命令使用
摘要:目录 一、jdk工具之jps(JVM Process Status Tools)命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java V
阅读全文
posted @
2015-05-19 20:22
duanxz
阅读(5640)
推荐(2) 编辑
八、jdk工具之JvisualVM、JvisualVM之一--(visualVM介绍及性能分析示例)
摘要:目录 一、jdk工具之jps(JVM Process Status Tools)命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java V
阅读全文
posted @
2014-05-14 21:38
duanxz
阅读(15556)
推荐(4) 编辑
JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码
摘要:本文是《JVM 性能调优实战之:一次系统性能瓶颈的寻找过程》 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍),并准确定位系统瓶颈:我们应用里静态对象不是太多、有大量的业务线程在频繁创建一些生命周期很长的临时对象,代码里有
阅读全文
posted @
2014-01-07 09:35
duanxz
阅读(702)
推荐(0) 编辑
JVM 性能调优实战之:一次系统性能瓶颈的寻找过程
摘要:玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈。性能优化分为好几个层次,比如系统层次、算法层次、代码层次…JVM 的性能优化被认为是底层优化,门槛较高,精通这种技能的人比较少。笔者呆过几家技术力量不算弱的公司,每个公司内部真正能够进行 JVM 性能调优
阅读全文
posted @
2014-01-06 23:28
duanxz
阅读(2659)
推荐(1) 编辑
使用JMH做Java微基准测试
摘要:一、什么是 JMH 二、为什么要使用 JMH 三、JMH基本参数概念 一、什么是 JMH JMH 是 Java Microbenchmark Harness 的缩写。中文意思大致是 “JAVA 微基准测试套件”。官网:http://openjdk.java.net/projects/code-too
阅读全文
posted @
2014-01-02 16:26
duanxz
阅读(1718)
推荐(0) 编辑
JVM参数汇总
摘要:一、java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,这些都是不
阅读全文
posted @
2013-12-19 15:56
duanxz
阅读(7668)
推荐(0) 编辑
Thread Dump 分析综述
摘要:最近在做性能测试,需要对线程堆栈进行分析,在网上收集了一些资料,学习完后,将相关知识整理在一起,输出文章如下。 一、Thread Dump介绍 1.1什么是Thread Dump? Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的t
阅读全文
posted @
2012-11-05 13:32
duanxz
阅读(702)
推荐(0) 编辑
远程监控JVM之二、 八、jdk工具之JvisualVM之三--可视化监控及LINUX服务器与客户端配置方法)、 远程监控Tomcat、Jstatd
摘要:如何配置visualvm监控 我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具,相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具。这个工具就在JAVA_HOME\bin\目录下的j
阅读全文
posted @
2012-10-26 09:19
duanxz
阅读(5505)
推荐(0) 编辑
八、jdk工具之JvisualVM之四--VisualVM 进行性能分析及调优
摘要:背景知识 性能分析的主要方式 监视:监视是一种用来查看应用程序运行时行为的一般方法。通常会有多个视图(View)分别实时地显示 CPU 使用情况、内存使用情况、线程状态以及其他一些有用的信息,以便用户能很快地发现问题的关键所在。 转储:性能分析工具从内存中获得当前状态数据并存储到文件用于静态的性能分
阅读全文
posted @
2012-10-25 16:40
duanxz
阅读(918)
推荐(0) 编辑
mat之三--PermGen Metaspace永久代内存分析
摘要:一、jdk1.6上的perm gen 我们在上2篇文章中知道,perm gen是个异类,里面存储了类和方法数据(与class loader有关)以及interned strings(字符串驻留)。在heap dump中没有包含太多的perm gen信息。那么我们就用这些少量的信息来解决问题吧。 看下
阅读全文
posted @
2012-10-25 15:05
duanxz
阅读(2386)
推荐(0) 编辑