﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-蒙古狼-随笔分类-深入JVM</title><link>http://www.blogjava.net/landy/category/11184.html</link><description>像狼一样凶狠</description><language>zh-cn</language><lastBuildDate>Fri, 25 Sep 2009 02:16:08 GMT</lastBuildDate><pubDate>Fri, 25 Sep 2009 02:16:08 GMT</pubDate><ttl>60</ttl><item><title>性能调优经验介绍</title><link>http://www.blogjava.net/landy/archive/2009/09/24/296351.html</link><dc:creator>独孤过客</dc:creator><author>独孤过客</author><pubDate>Thu, 24 Sep 2009 13:35:00 GMT</pubDate><guid>http://www.blogjava.net/landy/archive/2009/09/24/296351.html</guid><wfw:comment>http://www.blogjava.net/landy/comments/296351.html</wfw:comment><comments>http://www.blogjava.net/landy/archive/2009/09/24/296351.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/landy/comments/commentRss/296351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/landy/services/trackbacks/296351.html</trackback:ping><description><![CDATA[一个典型的J2EE系统由DB、应用、应用（WEB）服务器、JVM组成。<br />
调优可分别针对这几个部分调优，下面介绍一下各个部分调优的一些经验。<br />
1. DB调优：DB调优主要关注下面几个方面：1）选择合适索引；2）避免复杂查询；3）尽量将复杂运算挪到应用中，以降低DB复杂，因为让应用可伸缩的代价远比让DB可伸缩的代价低；4）避免关联查询；调优的过程中，可借助Oracle的sql将比较耗时的SQL查询出来，再针对性的优化。<br />
2. 应用调优：应用调优主要分成两个方面：1）用Jprofiler或optimizeit等工具找出执行比较耗时的代码，并针对性的优化；2）应用运行时，通过打JVM的堆栈来分析应用的线程是否因资源竞争导致block，然后导致CPU无法充分利用，从而应用性能上不去，找出性能瓶颈后可针对性的做优化。<br />
3. 应用服务器调优：主要调节数据库连接池大小，连接数大小（tomcat就有连接数大小）等<br />
4. JVM调优：主要针对应用的特点，调整JVM参数，使应用运行更稳定。<br />
判断性能调优是否到位的方法是看数据库服务器和应用服务器的CPU占用率，首先要确认不是内存的问题，确认服务器没有产生页面交换；然后就看应用侧和DB侧的CPU是否能够达到90%以上了，一般来讲，要求应用侧的CPU使用率达到90%以上。<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote>
<img src ="http://www.blogjava.net/landy/aggbug/296351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/landy/" target="_blank">独孤过客</a> 2009-09-24 21:35 <a href="http://www.blogjava.net/landy/archive/2009/09/24/296351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ClassLoader分析</title><link>http://www.blogjava.net/landy/archive/2006/05/21/47391.html</link><dc:creator>独孤过客</dc:creator><author>独孤过客</author><pubDate>Sun, 21 May 2006 15:51:00 GMT</pubDate><guid>http://www.blogjava.net/landy/archive/2006/05/21/47391.html</guid><wfw:comment>http://www.blogjava.net/landy/comments/47391.html</wfw:comment><comments>http://www.blogjava.net/landy/archive/2006/05/21/47391.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/landy/comments/commentRss/47391.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/landy/services/trackbacks/47391.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1										          																												前言																		ClassLoader				是				Java				虚拟机				(JVM)				的类装载子系统，它负责将				Java				字节码装载到				JVM				中，				...&nbsp;&nbsp;<a href='http://www.blogjava.net/landy/archive/2006/05/21/47391.html'>阅读全文</a><img src ="http://www.blogjava.net/landy/aggbug/47391.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/landy/" target="_blank">独孤过客</a> 2006-05-21 23:51 <a href="http://www.blogjava.net/landy/archive/2006/05/21/47391.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>