前段时间客户方一个系统上线后出现性能问题,就是查询报表的时候出现宕机现象,应项目组要求过去帮忙测试优化问题。
  该项目的架构相对比较复杂,登录后要先进行认证服务器认证用户然后登录到应用系统A,在跳转到应用服务器B进行业务操作,如果有涉及到查询历史数据等需要使用到查询报表的,就要再次跳转到cognos服务器,然后从数据库中捞取数据,因为项目人员只是说登录很慢,而且应用系统也很慢,有时会内存溢出,经常重启,但是没说明是哪里出问题,所以对问题的定位分析确实很麻烦。
   于是只能逐层剥离测试分析方式来对各层次服务器进行问题定位分析解决。
  1、先测试挖掘分析web服务器问题,通过简单的测试系统登录退出,定位解决了apache配置问题。
  2、认证服务慢的问题是存在,但是是另外一个系统问题,所以不做任何优化修改。
  3、本项目的应用服务器问题诊断分析,通过测试一些交易类型的不跟报表打交道的业务功能点发现weblogic的JDBC、JVM等配置方面的问题,但是这时只能说发现问题,虽然JDBC调整大小可以解决连接数问题但是JVM设置问题,还需要考虑业务模型测试模型配比进行调整,因为报表展现的数据需要加载到应用JVM然后在展现出来,所以这方面的调整只能综合场景测试,才能进行分析优化调整。
  
  4、cognos服务配置测试诊断分析,通过测试查询报表数据,进行测试应用、报表展现分析问题,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。

cognos服务器性能测试诊断分析优化过程记录的更多相关文章

  1. 执行3小时超长SQL的分析优化过程:从索引遇见IS NULL,到最佳实践

    月底高峰期,对一个典型项目抽查分析时,发现了一个超级慢.全表扫描的SQL,语句很简单,AWR中赫然在列,在我统计的截止时间内还没有结束... 使用v$active_session_history进一步 ...

  2. 服务器上安装caffe的过程记录

    1. 前言 因为新的实验室东西都是新的,所以在服务器上要自己重新配置CAFFE 这里假设所有依赖包学长们都安装好了,我是没有sudo权限的 服务器的配置: CUDA 8.0 Ubuntu 16.04 ...

  3. 使用百度云服务器BCC搭建网站,过程记录

    1.买了个最低端的百度云云服务器:1G内存+1核+40系统盘,获得一个静态服务IP地址,之前在阿里那边买个一个域名,在百度云备案一下,通过后就可以正常解析,把域名和IP对应起来了,主要目的是熟悉一下整 ...

  4. 【JVM】JVM优化过程全记录

    请大神移步:https://segmentfault.com/a/1190000010510968?utm_source=tuicool&utm_medium=referral 今天看JVM群 ...

  5. 性能测试平台效率优化的一次经验(python版)

    在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟. 由于 ...

  6. 详解服务器性能测试的全生命周期?——从测试、结果分析到优化策略(转载)

    服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升 ...

  7. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  8. 基于Linux服务器的性能分析与优化

    作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但硬件问题.软件问题.网络环境等的复杂性和多变性,导致了对系统的优化变得异常复杂,如何定位性能问题出在哪个方面 ...

  9. 性能分析之TCP全连接队列占满问题分析及优化过程(转载)

    前言 在对一个挡板系统进行测试时,遇到一个由于TCP全连接队列被占满而影响系统性能的问题,这里记录下如何进行分析及解决的. 理解下TCP建立连接过程与队列 从图中明显可以看出建立 TCP 连接的时候, ...

随机推荐

  1. ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能

    长话短说,具体的请看图 需求如图: 修改CheckColumn.js源码,添加鼠标点击改变事件 完整JS脚本 Ext.ns('Ext.ux.grid'); Ext.ux.grid.CheckColum ...

  2. JVM学习记录3--垃圾收集器

    贴个图 Serial收集器 最简单的收集器,单线程,收集器会暂停用户线程,称为"stop the world". ParNew收集器 Serial收集器的多线程版本,其它类似.默认 ...

  3. 前后端hosts配置访问问题解决思路

    问题背景:前后端分离情况下后端开发测试需要配置hosts,有此问题的人员有RD,QA,PM,User 测试环境由于用户使用这种配置导致无法使用线上系统发起单据影响用户使用,同时让用户误以为系统出问题而 ...

  4. Spring Boot WebFlux 2.1.7 中文翻译文档

    1. 前言 从一开始学习 Netty 到 rxjava.Rector,再到 java8 的 CompletableFuture,就深深的为响应式编程着迷,这种区别于传统的顺序式编程,没准未来能在编程世 ...

  5. kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x

    1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭 ...

  6. 如何使用git上传代码

    首先在github 上创建好远程仓库,并拷贝仓库地址,接下来按照以下步骤:   1.打开命令行进入要上传的文件目录,初始化 git init  2. 建立远程仓库,git remote add ori ...

  7. Mycat分布式数据库架构解决方案--配置defaultAccount属性报错解决方案

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 该文章 ...

  8. 高频Linux命令小结(新手向)

    示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址:[你要的前端打怪升级指南] 近期 ...

  9. Java 中文数字转换为阿拉伯数字

    贴出代码,方便学习交流,稍后放出镜像问题的代码 package com.thunisoft.cail.utils; import com.sun.istack.internal.NotNull; im ...

  10. OpenCV图像处理以及人脸识别

    OpenCV基础 OpenCV是一个开源的计算机视觉库.提供了很多图像处理常用的工具 批注:本文所有图片数据都在我的GitHub仓库 读取图片并显示 import numpy as np import ...