设为首页 收藏本站
查看: 1352|回复: 0

[经验分享] 如何对应用服务性能问题诊断(Tomcat、Weblogic中间件)

[复制链接]

尚未签到

发表于 2015-8-6 12:41:51 | 显示全部楼层 |阅读模式
  在我们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
2
3
4  
  
  保存后,访问http://localhost:8088/manager/status,如图,可查看Tomcat性能情况
DSC0000.jpg
  2)  用LambdaProbe监控Tomcat
  网上下载probe压缩文件,http://www.lambdaprobe.org/ 解压后,可以看到有个probe.war文件,接着需要修改两个文件
  a、修改tomcat下conf/ tomcat-users.xml文件,添加如下代码:



1  
2  
3  
4  
5
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实时运行的应用程序的性能,如图
DSC0001.jpg
  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启动时的参数;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-94827-1-1.html 上篇帖子: apache转发请求至tomcat/JBOSS/weblogic/websphere 下篇帖子: tomcat,Jboss,weblogic区别与比较
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表