cognos服务器性能测试诊断分析优化过程记录

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

前段时间客户方一个系统上线后出现性能问题,就是查询报表的时候出现宕机现象,应项目组要求过去帮忙测试优化问题。

  该项目的架构相对比较复杂,登录后要先进行认证服务器认证用户然后登录到应用系统A,在跳转到应用服务器B进行业务操作,如果有涉及到查询历史数据等需要使用到查询报表的,就要再次跳转到cognos服务器,然后从数据库中捞取数据,因为项目人员只是说登录很慢,而且应用系统也很慢,有时会内存溢出,经常重启,但是没说明是哪里出问题,所以对问题的定位分析确实很麻烦。

  于是只能逐层剥离测试分析方式来对各层次服务器进行问题定位分析解决。

  1、先测试挖掘分析web服务器问题,通过简单的测试系统登录退出,定位解决了apache配置问题。

  2、认证服务慢的问题是存在,但是是另外一个系统问题,所以不做任何优化修改。

  3、本项目的应用服务器问题诊断分析,通过测试一些交易类型的不跟报表打交道的业务功能点发现weblogic的JDBC、JVM等配置方面的问题,但是这时只能说发现问题,虽然JDBC调整大小可以解决连接数问题但是JVM设置问题,还需要考虑业务模型测试模型配比进行调整,因为报表展现的数据需要加载到应用JVM然后在展现出来,所以这方面的调整只能综合场景测试,才能进行分析优化调整。

  服务配置测试诊断分析,通过测试查询报表数据,进行测试应用、报表展现分析问题,cognos的相关参数配置,如cognos Sort buffer size、CQEConfig.xml修改、最大进程数调整等进行调整然后针对JVM进行调整。

  4、数据库问题,在测试过程没有发现SQL写法问题,引发数据性能问题都是数据库缓存配置问题引发的,报表服务器的数据库是可以适当把缓存参数设置大一些,提高性能,如数据缓存、高数区缓存等配置,提高数据命中率等问题。

  5、JVM的配置差异性:虽然都是使用同种类型的linux操作系统和硬件配置,同样使用jrockit JDK,但是面对的处理的技术和业务逻辑的差异性,导致对JVM配置也相应有一定的差异,如应用服务器是面对不只是报表数据展现也有管理类交易的而cognos服务器是针对数据的展现,如果历史数据的查询展现等为主,所以应用服务器和报表服务器对于的JVM配置方式不能设置一样,如 应用服务器JVM配置如 -Xms1024m -Xmx1024m -Xns:256m -Xgc:gencon

  而报表服务器配置-Xms1024m -Xmx1024m -Xgcprio:throughput  –XnoOpt -Xverify:none,在测试过程中性能最佳。 –XnoOpt -Xverify:none这两个参数的使用虽然有测试过是否加入会影响性能,但是这两个参数的真正意义原理不是很了解。

  6、应用展现设计问题,如查询类的不同机构的查询默认情况下,登录页面后都会把所有机构的数据展现出来,经讨论开发的改为该机构的用户只能展现本机构的机构以及下级机构的数据。  而不是设计而所有的一级行机构都展现然后在根据权限问题查看只能查看本机构的数据。而且也是要用的时候才去展现机构树,而不是每次登录都刷新展现加载一次。

  经这些调整后响应时间从10个用户五十几秒,到50用户报表生成响应时间4.46S。   



最新内容请见作者的GitHub页:http://qaseven.github.io/

   

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
23天前
|
人工智能 前端开发 测试技术
探索软件测试中的自动化框架选择与优化策略####
本文深入剖析了当前主流的自动化测试框架,通过对比分析各自的优势、局限性及适用场景,为读者提供了一套系统性的选择与优化指南。文章首先概述了自动化测试的重要性及其在软件开发生命周期中的位置,接着逐一探讨了Selenium、Appium、Cypress等热门框架的特点,并通过实际案例展示了如何根据项目需求灵活选用与配置框架,以提升测试效率和质量。最后,文章还分享了若干最佳实践和未来趋势预测,旨在帮助测试工程师更好地应对复杂多变的测试环境。 ####
42 4
|
24天前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力
优化SSR应用以减少服务器压力,可采用代码分割、缓存策略、数据预加载、服务端性能优化、使用CDN、SSR与SSG结合、限制并发请求、SSR与CSR平滑切换、优化前端资源及利用框架特性等策略。这些方法能有效提升性能和稳定性,同时保证用户体验。
|
25天前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
29天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
16天前
|
人工智能 监控 测试技术
探索软件测试中的自动化框架选择与优化策略####
【10月更文挑战第21天】 本文深入剖析了软件测试领域面临的挑战,聚焦于自动化测试框架的选择与优化这一核心议题。不同于传统摘要的概述方式,本文将以一个虚拟案例“X项目”为线索,通过该项目从手动测试困境到自动化转型的成功历程,生动展现如何根据项目特性精准匹配自动化工具(如Selenium、Appium等),并结合CI/CD流程进行深度集成与持续优化,最终实现测试效率与质量的双重飞跃。读者将跟随“X项目”团队的视角,直观感受自动化框架选型的策略性思考及实践中的优化技巧,获得可借鉴的实战经验。 ####
28 0
|
2月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
156 56
|
13天前
|
机器学习/深度学习 人工智能 Java
探索软件测试中的自动化框架选择与优化策略####
本文深入探讨了在软件测试领域,面对众多自动化测试框架时,如何根据项目特性、团队技能及长远规划做出最佳选择,并进一步阐述了优化这些框架以提升测试效率与质量的策略。通过对比分析主流自动化测试框架的优劣,结合具体案例,本文旨在为测试团队提供一套实用的框架选型与优化指南。 ####
|
26天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
52 3
|
2月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
126 32
|
2月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
95 31