JProfiler 解决 Java 服务器的性能跟踪
来自:http://www.anymobile.org
1、摘要..........................................................................1
2、改善服务器的性能...........................................................1
3、分析器原理...................................................................2
4、JProfiler 简介...............................................................2
5、JProfiler 特征...............................................................3
6、本地监控.....................................................................4
7、远程监控.....................................................................7
8、参考..........................................................................9
1 、 摘要
改善 Java 服务器的性能需要模拟负载下的服务器。创建一个模拟环境、搜集数据并且分析结果可能是对许多开发人员的挑战。这篇文章介绍了使用 JProfiler 跟踪分析 Java 服务器的性能。
简单的性能问题很容易分离并解决,然而,大的性能问题,如内存溢出或者系统的罢工,通常在系统处于高负载情况下发生,就不能这么简单的处理了。这些问题需要一个独立的测试环境、一个模拟的负载,并且需要仔细地分析和跟踪。
在这篇文章中,我使用比较通用的工具( JProfiler 和 JBuilder )和设备创建了一个性能监控分析环境,跟踪本地和远程的服务器程序,专注于三个性能问题:内存、垃圾回收和多线程运行状况,从而很好的监视 JVM 运行情况及其性能。
2 、改善服务器的性能
服务器的性能改善是依赖于数据的。没有可靠的数据基础而更改应用或环境会导致更差的结果。分析器提供有用的 Java 服务器应用信息,但由于从单用户负载下的数据与多用户负载下得到的数据是完全不同的,这导致分析器的数据并不精确。在开发阶段使用分析器来优化应用的性能是一个好的方式,但在高负载下的应用分析可以取到更好的效果。
在负载下分析服务器应用的性能需要一些基本的元素:
1、 可控的进行应用负载测试的环境。
2、 可控的人造负载使得应用满负荷运行。
3、 来自监视器、应用和负载测试工具自身的数据搜集。
4、 性能改变的跟踪。
不要低估最后一个需求(性能跟踪)的重要性因为如果不能跟踪性能你就不能实际的管理项目。性能上 10-20% 的改善对单用户环
相关文档:
Java常用字符集编码详解
Web开发的时候经常会遇到一些字符编码的错误,如页面乱码等问题,所以有必要需对字符编码有所了解,以下是Ricki收集的一些资料(可能不是很全,但希望对你有所帮助)
Java标准字符集:所谓Java标准字符集,就是Java平台支持的字符 ......
原贴内容请见: http://topic.csdn.net/u/20100116/17/6a204504-9e70-435f-be55-f0630ed12fdf.html?seed=942806558&r=62778073#r_62778073
请大牛指正.
产品类:
package selfimpr.producerCustomer;
/**
* 产品
* @author selfimpr
* @blog http://blog.csdn.net/lgg201
* @email lgg860911@yahoo.com.cn
......
package com.tiantian;
import java.util.*;
public class JAVAContainer {
public static void main(String[] args) throws Exception {
// ArrayList
{
ArrayList arraylist = new ArrayList();
arraylist.add(0, "end");//指定索引加入值
// 需注意的是,如果现有2个值,我尤胨饕?的那么就会出现异常
f ......
import java.net.InetAddress;
import java.io.InputStream;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.text.ParseException;
import java.util.StringTokenizer;
public final class NetworkInfo {
private final static String getMacAddress() throws IOException {
String ......