四月份我们公司负责的电票系统上线了,这个系统上线比客户方其他系统上线还特殊,是二期改造项目,旧系统数据还要整合抽取到新系统中继续使用,而且该系统不是增量型方式开发上线的,而且全部开发完后全国上线的,这样开发压力大,测试人员压力也很大,由于环境问题以及在接近上线前客户方还在做需求变更,导致上线后出现了不少缺陷问题,两周后大部分问题还好都得以解决。而在上线前由于多种原因,我们性能测试人员根据项目调研提供的典型交易进行测试发现了不少问题,但是由于开发人员还在忙于需求变更等开发工作,对我们发现的性能问题都没时间加以解决,因此上线不到一周服务器几乎每天都要重启,不是应用服务器宕机就是数据库服务器宕机客户方着急了,在项目组客户方以及项目经理的要求下,我跟他们去客户机房现场查看分析问题。因为生产环境不能像测试环境那边乱DUMP日志也不能开启其他诊断分析工具,重启、修改参数、加监控参数等都是要他们客户方总行领导审批才行,确实对诊断带来很大的不便。没办法数据库问题只能自己写查询性能试图方式和GLANCE等监控方式发现数据库死锁问题是因为全表扫描引起的有些字段索引走法有问题引起的,建议他们对一些表重建索引解决了部分数据库问题,但是很多都是多表链接查询而且都是左链接方式来实现的,这种在生产线确实不能随意乱改,只能建议他们对查询语法进行SQL 改造,项目组接纳了我部分意见解决了部分问题,对于SQL改造只能等后期上版本才能解决,解决了部分数据库问题燃眉之急就行。

而weblogic应用服务器也是频繁宕机,而且差不多到中午就宕机了,根本没办法支持客户方业务人员一天正常上班8个小时之内工作,最多支持4个小时估计就不行了,经日志分析发现频繁报出java.lang.OutOfMemoryError: GC overhead limit exceeded、java.lang.OutOfMemoryError: Java heap space问题。,看了他们的服务器是4C8G两台,4个实例,JVM 配置-Xms1200m -Xmx1200m  -XX:MaxPermSize=256m,感觉配置不合理,因为这些是根据客户方提供的参数配置说明给我们公司人员配置的,而这种配置算是公共性的保守配置方法,对不同的应用系统实际状况不同应该加以调整,而且他们项目很多查询一个查询功能点查询的字段很多都是超过40个查询字段有些上八十个很不合理,但是是客户方要求的没办法,而且有些查询数据量很大确是使用前台分页查询,但是这些设计问题一下子没办法解决,客户方要求我能最快想出解决当前问题方法,没办法我只能跟客户方领导说可以通过参数调整解决临时问题,但是只能算是治标不能治本最终问题还是程序设计等问题。在客户方的要求下,给他们提供了最新的参数配置方案“-Xms1024m -Xmx1024m -XX:NewSize=384m -XX:MaxNewSize=384m -XX:PermSize=256m -XX:MaxPermSize=256m “,结果被客户方的总行管理领导否决,原因是年轻代设置太大了,不接受,我就给他们解决了他们项目的特殊情况,他们也请了对SUN JVM和对WEBLOGIC比较熟悉的专家来好像也是不接受我的意见,没办法,不接受我也提供不了其他优化方案了,但是那些高手也没提供出什么好的方案,我还是坚持我的方法因为他们项目很多特殊原因不得不这样调整,而且这也是合理接收参数配置范围,搞不明白他们为什么不采纳。

但是后期问题还是出现,我也跟客户方领导解释了下,我为什么这样配置的想法,可能是没有其他方案了,死马当活马医了,最终采纳我的方案,问题还真到现在都没出现过。但是时间久了肯定还是有问题,我于是推荐他们在没解决程序问题之前,可以写个SHELL脚本定期重启下各个实例,这样可以清除内存回收问题,这种也算是下下之策了。但是起码能保证客户方能上班时间正常使用该系统。

性能测试——记XX银行电票系统上线后宕机问题诊断优化的更多相关文章

  1. 性能测试——记XX银行保全项目性能问题分析优化

    记XX银行保全项目性能问题分析优化 数据库问题也许是大部分性能问题的关注点,但是JAVA应用与数据库交互的关节,JDBC 就像是我们人体的上半身跟下半身的腰椎,支持上半身,协调下半身运动的重要支撑点. ...

  2. 系统上线后WCF服务最近经常死掉的原因分析总结

    前言 最近系统上线完修改完各种bug之后,功能上还算是比较稳定,由于最近用户数的增加,不知为何经常出现无法登录.页面出现错误等异常,后来发现是由于WCF服务时不时的就死掉了.后来就开始分析问题.得到的 ...

  3. 记-ItextPDF+freemaker 生成PDF文件---导致服务宕机

    摘要:已经上线的项目,出现服务挂掉的情况. 介绍:该服务是专门做打印的,业务需求是生成PDF文件进行页面预览,主要是使用ItextPDF+freemaker技术生成一系列PDF文件,其中生成流程有:解 ...

  4. redis宕机如何解决?如果是项目上线的宕机呢?

    我们先来了解一下  bridge网络模式 他会创建一个docker0桥,看完这个我们就会知道redis哨兵机制的端口了. 之后继续研究redis宕机的解决办法! 宕机: 服务器停止服务 如果只有一台r ...

  5. 【性能测试】Loadrunner12.55(二)-飞机订票系统-脚本录制

    1.1 飞机订票系统 Loadrunner 12.55不会自动安装飞机订票系统,要自己手动安装. 我们需要下载Web Tools以及一个小插件strawberry https://marketplac ...

  6. 【测试工程师面试】 记录XX银行面试

    LZ在一个18线小城市做测试,近来想走出自己的舒适区,去做一点不一样的测试工作. 18线地区,测试工作并不多.最好的差不多就是LZ目前待着的公司了.遂决定去魔都闯荡几年,对一个在魔都无房无车无户口的人 ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr

    目录:一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务电 ...

  8. 学生管理系统-火车订票系统 c语言课程设计

    概要: C 语言课程设计一---学生管理系统 使使用 C 语言实现学生管理系统.系统实现对学生的基本信息和考试成绩的 管理.采用终端命令界面,作为系统的输入输出界面.采用文件作为信息存储介质. 功能描 ...

  9. 电商系统架构总结1(EF)

    最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程. 虽然这个系统不是什么超大型的电商系统 数亿计的 ...

随机推荐

  1. redis之管道

    Redis 的消息交互当我们使用客户端对 Redis 进行一次操作时,如下图所示,客户端将请求传送给服务器,服务器处理完毕后,再将响应回复给客户端.这要花费一个网络数据包来回的时间. 如果连续执行多条 ...

  2. ES常用操作备忘

    格式:<REST Verb>/<Index>/<Type>/<ID> 集群健康:curl -u lases:1fw@2soc#3vpn -XGET 'l ...

  3. 设计模式C++描述----05.职责链(Chain of Responsibility)模式

    一. 概述 职责链模式: 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 二. 举个例子 员工要求加薪 ...

  4. Spring Cloud Eureka源码分析---服务注册

    本篇我们着重分析Eureka服务端的逻辑实现,主要涉及到服务的注册流程分析. 在Eureka的服务治理中,会涉及到下面一些概念: 服务注册:Eureka Client会通过发送REST请求的方式向Eu ...

  5. centOS7 永久关闭防火墙

    查看防火墙状态: systemctl status firewalld.service 如图 绿的running表示防火墙开启 执行关闭命令: systemctl stop firewalld.ser ...

  6. Data Compression Category

    Data Compression is an approach to compress the origin dataset and save spaces. According to the Eco ...

  7. [考试反思]0816NOIP模拟测试23

    210 210 210 170 还可以.暴力打满就rk4了? 但不管怎么说,总算是在改完题之后理直气壮的写考试反思了. T1是个dp,说水也不太水.(当然某脸只要A掉了一道题就要说那是水题) 我的思路 ...

  8. [考试反思]0814NOIP模拟测试21

    前两名是外校的240.220.kx和skyh拿到了190的[暴力打满]的好成绩. 我第5是170分,然而160分就是第19了. 在前一晚上刚刚爆炸完毕后,心态格外平稳. 想想前一天晚上的挣扎: 啊啊啊 ...

  9. formdata,ajax提交数据

    var data = document.getElementById("#dataForm"); var formData = new FormData(data); var ac ...

  10. JS中的两种数据类型以及实现引用类型的深拷贝

    一.前言 我们知道,在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型.基本类型基本类型有String.Boolean.Number,Undefined.Null,这些基本类型都是按 ...