如何对应用服务性能问题诊断(Tomcat、Weblogic中间件) - luihengk

标签: 对应 服务 性能 | 发表时间:2014-06-01 14:48 | 作者:luihengk
出处:

在我们web项目中,我们常见的web应用服务器有Tomcat、Weblogic、WebSphere。它们是互联网应用系统的基础架构软件,也叫“中间件”,负责处理动态在页面请求,并为应用提供了名字、事务、安全、消息、数据访问等,此外,它们还是提供应该构建的开发、部署、运行及管理功能。

当我们对项目做性能测试时,我们如何更好地监控它们,并诊断出性能问题呢?下以是我对Tomcat和Weblogic的一些性能监控分析方法:

1、  Tomcat性能监控分析

Tomcat是一个免费的开放源代码的web应用服务器软件,主要用来支持运行Java Servlet/JSP。Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡和邮件服务等开发应用系统常用的功能,而且它还不断的改进和完善中,使用Tomcat作为web应用服务器,在系统应用性能上有很大帮助,以下介绍几种监控Tomcat性能的方法:

1)  Tomcat自带的监控功能

使用过Tomcat的人大概都知道,它附带了一个监控页面,先修改配置文件/conf目录下的tomcat-users.xml文件,为监控的用户添加权限,并且需要添加一个名为“manager-gui”的角色,如下:

1 <role rolename="manager-gui"/>
2
3 <user username="monitor" password="123456" roles="manager-gui"/>
4

 

保存后,访问 http://localhost:8088/manager/status,如图,可查看Tomcat性能情况

 2)  用LambdaProbe监控Tomcat

网上下载probe压缩文件, http://www.lambdaprobe.org/ 解压后,可以看到有个probe.war文件,接着需要修改两个文件

a、修改tomcat下conf/ tomcat-users.xml文件,添加如下代码:

1 <role rolename="manager"/>
2 <role rolename="poweruser"/>
3 <role rolename="poweruserplus"/>
4 <role rolename="probeuser"/>
5 <user username="probe" password="123456" roles="manager,probeuser,poweruser,poweruserplus"/>
6

 b、修改tomcat下bin/Catalina.bat文件,添加如下代码:

set CATALINA_OPTS=-Xms512m -Xmx1024m -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=29001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

 启动tomcat后,访问 http://localhost:8088, 输入用户名:probe,密码123456,登录后,

在页面中“ WAR file to deploy”点击“浏览”将probe.war文件发布到tomcat应用中

 访问 http://localhost:8088/probe/,查看tomcat实时运行的应用程序的性能,如图

 3)  LoadRunner编写脚本实现Tomcat性能监控

LR不支持直接监控Tomcat,但是可以在VUGen中编写脚本来获取性能数据,其实是编写大量的关联函数web_reg_sava_param()及lr_user_data_point函数,例如:

1 double atof(const char *string);
2
3 extern char * strtok(char * token, const char * delimiter);
4
5 collectMetrics(){
6
7 int countP, counts, countF, countF, countR, countK;
8
9 int numValues;
10
11 static int loggedVersionInfo = FALSE;
12
13 lr_save_string(“127.0.0.1”,”ServerName”);
14
15 web_set max_html_param_len(65565);
16
17 web_set_user(“admin”,”admin”,”{ServerName}”);
18
19 lr_start_transaction(“monitor tomcat”);
20
21 web_reg_save_param(“JVMFreeMemory”,”LR=Free memory”,”RB=MB”,”Ord=1”,LAST);
22
23 略……………这里添加多个监控指标
24
25 Lr_end_transaction(“monitor tomcat”,LR_AUTO);
26
27
28
29 写入Tomcat JVM度量数据
30
31 Lr_user_data_point(“Tomcat JVM Free memory”,atof(lr_eval_string(“{JVMFreeMemory}”)));
32
33 }
34

然后在Run-time中设置数据收集的间隔“pacing”,最好设置在5-10s,最后在Controller中设置脚本运行,场景运行完毕后,在Analysis分析结果图标中添加“User Defined Data Points”,查看收集到的Tomcat性能数据。

4)  JMX监控Tomcat

使用JMX监控Tomcat,需要编写JMX提供接口的实现类,该接口是任何java程序都可以调用访问的,编写java程序来收集Tomcat性能数据,在此就略过啦!

5)  优化JVM提高Tomcat性能

a、  修改Tomcat启动/最大时的运行内存来监控性能指标的影响,即修改bin/Catalina.bat文件;

JAVA_OPTS=-Xms512m -Xmx1024m

b、  修改conf目录下server.xml文件maxThreads的值来调整Tomcat的最大连接线程数;

c、  同上,修改connectionTimeout的值来调整连接超时数;

d、  同上,修改acceptCount的值来调整最大排队数;

 2、  Weblogic中间件监控性能分析

a、  在weblogic控制台页面调整Session策略;

b、  JDBC连接数监控及参数的调整,如Initial Capacity、Maximum Capcity等;

c、  JVM监控分析,可设置JVM启动时的参数;


本文链接: 如何对应用服务性能问题诊断(Tomcat、Weblogic中间件),转载请注明。

相关 [对应 服务 性能] 推荐:

如何对应用服务性能问题诊断(Tomcat、Weblogic中间件) - luihengk

- - 博客园_首页
在我们web项目中,我们常见的web应用服务器有Tomcat、Weblogic、WebSphere. 它们是互联网应用系统的基础架构软件,也叫“中间件”,负责处理动态在页面请求,并为应用提供了名字、事务、安全、消息、数据访问等,此外,它们还是提供应该构建的开发、部署、运行及管理功能. 当我们对项目做性能测试时,我们如何更好地监控它们,并诊断出性能问题呢.

微服务性能模式

- - 互联网 - ITeye博客
前言:基于微服务系统越来越普遍. 下面我们就来看看五种常见的特定微服务性能的挑战,以及如何应解他们. 背景:在IT界微服务架构为基础的系统越来越多, 每一个应用系统都集成了不同的组件和服务,几乎所有的特定业务应用程序都需要集成一个或更多的应用服务. 但是一个综合性系统集成不同的服务这无疑是一个巨大的挑战.

高性能服务器架构

- 临峰 - 博客园-首页原创精华区
    任何一行都有自己的军规, 我想这篇著名的文章就是游戏服务器程序员的军规. 也许你认为游戏服务器程序员日常并不涉及这样底层的实现, 而只是去完成策划提出的需求, 我觉得也有道理, 毕竟这些是我们的工作, 下面的译文就不太适合你. 但是对于想改进现有系统, 在服务器方面给予更好的技术支持, 那么你在开始工作之前必须了解一些禁忌, 并且给出了一些解决方向上的真知灼见.

node.js调研与服务性能测试

- lostsnow - 淘宝数据平台与产品部官方博客 tbdata.org
这几天对nodejs进行了一下简单的调研. 考虑到今后的应用场景, 实现了一个简单的memcache代理服务.. 内部维护了一个50连接的简单连接池, 通过长连接与memcache服务器相连.. 同时对外提供socket代理服务与http restful服务. 测试使用编译安装的node.js v0.3.1,未使用任何第三方modules.

Linux服务器性能评估

- peigen - 唐福林-博客雨
一、影响Linux服务器性能的因素. 影响性能因素 评判标准 好 坏 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90% 内存 Swap In(si)=0 Swap Out(so)=0. Per CPU with 10 page/s More Swap In & Swap Out 磁盘 iowait % < 20% iowait % =35% iowait % >= 50%.

Java Web 服务性能优化实践

- - 博客 - 伯乐在线
来源: IBM developerworks. 简介: 本文介绍如何提升 Java Web 服务性能,主要介绍了三种方法:一是采用 Web 服务的异步调用,二是引入 Web 服务批处理模式,三是压缩 SOAP 消息. 重点介绍在编程过程中如何使用异步 Web 服务以及异步调用和同步调用的差异点. 本文还示范了如何在项目中使用以上三种方法,以及各种方法所适合的应用场景.

Tomcat 生产服务器性能优化

- - ITeye博客
增加JVM堆(heap). 线程池(thread pool)的设置. Tomcat原生库(native library). 第一步  – 提高JVM栈内存Increase JVM heap memory. 要更改文件(catalina.sh) 位于"\tomcat server folder\bin\catalina.sh",下面,给出这个文件的配置信息,.

高性能服务端漫谈

- - ITeye资讯频道
进入多核时代已经很久了,大数据概念也吵得沸沸扬扬,不管你喜欢不喜欢,不管你遇到没遇到,big-data或bigger-data都必须正视. 处理大数据,基本都离不开分布式计算和分布式存储,这其中以hadoop最为使用广泛和经典. 分布式系统,就离不开计算系统、网络系统、文件系统和数据库系统. 这么多系统,之间又是如何协作的呢.