性能优化
iteye_17821
这个作者很懒,什么都没留下…
展开
-
0.性能优化-目录
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。主要内容包括:一、性能测试指标吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间 [url]http://frank1234.iteye.com/blog/2180305[/url]二、性能测试策略生产环境相同 基准测...2015-01-27 09:19:12 · 61 阅读 · 0 评论 -
15.性能优化-工具-MAT
1.MAT概述MAT是Java堆内存分析工具,可从http://www.eclipse.org/mat/中下载。MAT分析用的内存dump文件,可以通过jmap -dump:format=b,file=d:/111.dump生成,或者通过配置JVM参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/error.hprof ,这样发生O...2015-03-10 09:54:49 · 187 阅读 · 0 评论 -
14.性能优化-优化-软件配置优化
1.Tomcat线程池修改tomcat的server.xml文件: maxThreads --最大的线程数量,默认值200。允许的最大线程数受操作系统限制。minSpareThreads --最小空闲线程数。如果空闲线程小于此值,则一次性创建这个数量的空闲线程。默认值25maxSpareThreads --最大空闲线程数。如果空闲线程超过此值,会将超出的线程关闭。...2015-03-09 08:39:54 · 157 阅读 · 0 评论 -
13.性能优化-优化-JVM调优
1.JDK版本尽可能的使用高版本的JDK版本,这通常可以带来免费的性能提升。当前前提是版本是稳定的,并且相应的应用服务器或者开源第三方工具等,也可以基于此版本稳定运行。2.字节码验证如果编译的代码,以及依赖的第三方jar包都是可信赖的话,可以关闭字节码验证,从而节省类加载时间,可通过-XVerify:none关闭字节码验证。3.JIT编译方式HotSpot有2种JIT编...2015-03-06 09:06:25 · 155 阅读 · 0 评论 -
12.性能优化-优化-程序优化
1.字符串优化1.1. String对象的特点1)不变性。String对象一旦生成,则不能对它进行改变。不变模式的主要作用是当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和锁等待的时间,从而大幅提高系统性能。2)针对常量池的优化。当两个String对象拥有相同的值时,他们只引用常量池中的同一份拷贝。(PS:通过javap -verbose命令可以查看到常量池信息。)Str...2015-03-03 12:17:31 · 102 阅读 · 0 评论 -
11.性能优化-优化-JVM参数总结
1.堆-Xms --初始堆大小-Xmx --最大堆大小-Xmn --新生代大小-Xss --线程栈大小-XX:PermSize --永久代初始大小-XX:MaxPermSize --永久代最大值-XX:SurvivorRatio --新生代和suvivor比例,默认为8-XX:TargetSurvivorRatio --survivor可使用率,默认50%-...2015-02-28 11:47:04 · 256 阅读 · 0 评论 -
10.性能优化-监控-MySQL慢查询
1.记录慢查询配置show variables where variable_name like 'slow%' ; --查看默认日志路径查询结果:--不用的机器可能不同slow_query_log_file=/var/lib/mysql/centos-slow.log修改mysqld配置文件:/usr /my.cnf[一般在/etc/my.cnf,本机在/user/my.cn...2015-02-10 13:52:51 · 152 阅读 · 0 评论 -
9.性能优化-监控-JVM监控工具
1.JConsole JConsole随Java 5和更高版本分发,位于%JAVA_HOME%/bin目录下。可以用来监控堆使用,类加载、CPU使用以及线程情况,如下图所示: [img]http://dl2.iteye.com/upload/attachment/0105/9586/48030418-361c-31e1-8b85-0845de2d5a67.jpg[/img]...2015-02-09 10:32:46 · 92 阅读 · 0 评论 -
8.性能优化-监控-垃圾收集器
1.垃圾收集算法1)引用计数法。对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器加1,当引用失效时,A的引用计数器减1。只要对象A的引用计数器值为0,则对象A就不能再被引用了。但是引用计数器无法处理循环引用的问题,所以JVM不使用引用计数法进行垃圾回收。 [img]http://dl2.iteye.com/upload/attachment/0105/8154/2d...2015-02-04 09:50:38 · 162 阅读 · 0 评论 -
7.性能优化-监控-Java命令总结
1. jps jps --列出java进程 -l --输出主函数的完整路径 -m --传递给主函数的参数 -v --传递给JVM的参数2. jstat jstat --虚拟机统计信息监视工具jstat - [-t] [-h] [ []]-class --显示Classloader的信息-compil...2015-02-03 09:05:10 · 106 阅读 · 0 评论 -
6.性能优化-监控-硬件资源监控-磁盘IO
1.概述由于IO速度相对于内存和CPU会慢很多,所以磁盘IO操作很容易成为性能瓶颈,对于有磁盘操作的应用,都应该监控磁盘IO。Java应用造成磁盘IO消耗严重,主要是多个线程需要进行大量内容写入(例如频繁的日志写入),或者操作的文件本身很大。任何减少磁盘IO的策略都有帮助,例如使用BufferedInputStream,使用缓存,使用NIO等。2.iostat命令# i...2015-02-01 09:20:03 · 201 阅读 · 0 评论 -
5.性能优化-监控-硬件资源监控-内存
1.概述系统在进行页面交换或使用虚拟内存时,Java应用就会出现明显的性能问题。当应用运行所需的内存超过可用物理内存时,就会发生页面交换。当应用耗尽物理内存时,操作系统将应用的一部分交换到swap区,当应用再次访问这些内存时,再将这部分内容交换到内存中,这种页面交换会对应用的性能造成很大影响。Java应用一般将-Xms和-Xmx避免运行期频繁的进行垃圾收集和内存的扩充。2.free命令...2015-01-30 09:52:46 · 177 阅读 · 0 评论 -
4.性能优化-监控-硬件资源监控-CPU
1.概述要提高应用的性能,就必须充分利用给配给它的CPU周期。系统态CPU使用率高意味着共享资源有竞争或者IO设备之间有大量的交互。对于java应用,典型的上下文切换发生在进行文件IO操作、网络IO操作、锁等待或者线程sleep时,当前线程进入阻塞状态或者休眠状态,从而触发上下文切换,上下文切换过多会使应用的响应速度下降。2.top命令# top命令top - 21:1...2015-01-29 09:21:52 · 245 阅读 · 0 评论 -
3.性能优化-监控-硬件和软件环境获取
性能测试一定要首先标明测试的软硬件环境,本篇简要说明如何获取常用的软硬件环境的linux命令。1.硬件1)查看CPU#cat /proc/cpuinfomodel name : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHzcpu MHz : 1995.529cache size : 6144 K...2015-01-28 09:28:10 · 154 阅读 · 0 评论 -
2.性能优化-策略
1. 类生产环境 让性能测试环境尽可能的接近生产环境,这样才能保证测试的准确性。如机器的配置、操作系统、应用软件版本、软件的部署方式,数据量等都要尽可能的接近生产环境。2. 基准测试 每次性能测试,只改变其中一个参数,并将此性能测试结果同之前的性能测试结果进行比较。如果测试过程会产生一定的数据,则每次测试前需要将数据保持在初始状态,否则就可能会因为数据量的不同对结果造成影响,造成性...2015-01-28 09:27:10 · 72 阅读 · 0 评论 -
1.性能优化-指标
1)TPSTransaction Per Second的缩写,系统每秒钟能够处理的交易或事务数。2)吞吐量单位时间内系统完成的请求数。对于企业应用来说,通常用TPS来度量。吞吐量和响应时间是衡量系统处理能力的最重要的指标。3)响应时间系统完成一次外部请求处理所需的时间,从客户端发起一个请求开始计时,到客户端收到从服务器端返回的响应之间所经历的时间。不考虑客户端渲染所花费的时间。...2015-01-27 09:19:57 · 166 阅读 · 0 评论 -
16.性能优化-完结
性能调优是一个宏大的工程,需要从宏观架构(比如拆分,冗余,读写分离,集群,缓存等), 软件设计(比如多线程并行化,选择合适的数据结构), 数据库设计层面(合理的表设计,汇总表,索引,分区,拆分,冗余等) 以及微观(软件的配置,SQL语句的编写,操作系统配置等)根据软件的应用场景做综合的考虑和权衡,并经验实际测试验证才能达到最优。性能水很深, 笔者经验尚浅 ,赶脚也就了解了点皮毛而已,我觉得...2015-03-12 09:58:50 · 84 阅读 · 0 评论