程序性能分析问题,求高手帮助。

问题描述

向各位大侠求助。。现在正在维护一个系统,是为其他系统提供单点登录(SSO)的一个系统,没有业务,就是一个简单的画面。系统在2015年前,当时用的server操作系统是hpunix,web服务器是websphere,java的servlet开发,系统架构上稍微复杂一些,是有四台机器提供认证服务,其中没台机器都会定时向其他server提供情报(session)共有客户端对server的一次认证,当服务器忙或者无响应的时候,会得到返回时,由工作于客户端module(也是我们开发)自动转给第二台机器,二号不行,那就自动去三号,然后去四号。当时做过性能测试,最多能支持每分钟2000个访问。2015年4月以后做过一次升级,server操作系统变成了windows2012,web服务器改成了IIS,开发语言改成.net的MVC框架程序的结构和以前一样,只是做了代码转换,当然.net不能实现的部分也换了一些别的逻辑,包括锁处理,序列化什么的。在提供给用户正常使用6个月(没有发生过内存泄漏)以后,1月4号的那天因为大量访问,每分钟的访问次数只有1600个,第一台机器达到瓶颈(CPU达到100%)后,自动转发给2号机器,但2号机器在CPU未达到100%的情况下,将请求转换到了3号机器。现在负责解决这个问题,期限一周,说实话不知道怎么下手,想在这里请求各位大侠。是应该一行行读代码分析,还是应该去调查出这现在windows的瓶颈,还是说重新追加server.现在问题已经由升级cpu个数暂时解决,但不能无限升啊。求帮助,谢谢。

解决方案

解决方案二:
首先你要能方便的重现这个问题
解决方案三:
我用压力测试可以轻易再现这个问题,现在客户生气的是,我花了钱给你,你现在换了OS换了这些开发语言,结果性能不如以前了。这个是比较恼火的。这个当初做压力测试也没有正确取得访问数,是一个很大的问题。
解决方案四:
现在难道需要我把在高负荷发生问题时候的程序没一部分解来去看那个时间过长么,为什么不这么做的原因是在数量少得时候并没有产生缓慢,系统在6个月内并没有产生内存泄漏,我现在也没有办法把握在高负荷的时候程序多少是正常速度,我总不能把.net和JAVA的速度去比较吧,这样没有意义啊。
解决方案五:
你问客户,如果你改回原来的系统,他承担后果么?
解决方案六:
引用2楼breakMyLife的回复:

现在客户生气的是,我花了钱给你,你现在换了OS换了这些开发语言,结果性能不如以前了。这个是比较恼火的。

你这样跟客户说:你说的对,以前的系统你用着性能好。你换回去吗?
解决方案七:
至于说现在的.net系统,不论是测试、分析代码、重构,任何做法都是必要的。但是最重要地是找一个真懂的人,不要只剩下简单维护的人。
解决方案八:
我怎么可以跟甲方这么说,现在是我加了CPU暂时解决了我想验证的是,现在的开发,现在的架构就是只能承受这么大的负荷,希望她能追加CPU。但是我现在不知道该怎么说服。因为我不明白是我程序设计问题还是我架构问题,我拿不出来那个报告出来。
解决方案九:
引用6楼sp1234的回复:

至于说现在的.net系统,不论是测试、分析代码、重构,任何做法都是必要的。但是最重要地是找一个真懂的人,不要只剩下简单维护的人。

你说的很对,先不说我有没有这个人,即使有这么个人时间可能也是问题,因为这个系统是其他系统的入口,所以很多双眼睛看着,确实期限压得比较紧,另外测试,分析代码,应该以什么为主,以什么方式,这个能不能给点建议。前期的系统也是我们设计的,后期也是我们搞得,现在真有点没头绪,也许我们就是只能简单维护下。
解决方案十:
没搞懂,既然四台,为啥不考虑在客户端与服务端之间加个路由做负载呢?另外性能测试的2000并不能作为实际数据,只能作为参考数据
解决方案十一:
当服务器忙或者无响应的时候并不是只有CPU达到100%才会出这个,当请求数超出IIS设计的请求上限时,也会直接返回无响应,你可以查下IIS设置最大请求数,并发数什么的
解决方案十二:
数据库有没有做过优化?有没有活用缓存?程序的代码块有没有优化?譬如减少不必要的数据库访问

时间: 2024-09-26 07:59:10

程序性能分析问题,求高手帮助。的相关文章

android开发-求高手解答安卓软件兼容性的一个问题

问题描述 求高手解答安卓软件兼容性的一个问题 安卓新手一枚,在2.2的试验机上做了个仿qq程序,今天拿了部4.0试了下,很多控件没有反应,甚至有的操作还会报错,不知道是为什么,我在建立这个项目时按照默认的配置配的,求解......

递归-一个比较复杂的级联删除问题 ,求高手指点

问题描述 一个比较复杂的级联删除问题 ,求高手指点 是这样的,现在要做一个通用的删除方法.删除一个配置项和其关联配置项,逻辑很复杂.首先,数据库结构大概是这样的:有N个配置项,每个配置项有一张表,每个配置项通过一个中间表和其他配置项关联.有一对一,也有一对多的.所谓配置项一般都是一种设备,有序列号CI,ROWID来区分标识,每个设备有唯一的CI,但ROWID不唯一,ROWID是递增的,用HISTORY字段来区分是否在用.新增一个设备时是新生成一个CIROWID,HISTORY为1,表示在用.而更

w8 w7 y400-联想Y400怎么把W8改为W7,求高手支招~~~~

问题描述 联想Y400怎么把W8改为W7,求高手支招~~~~ 新入手一台联想Y400笔记本,做w8系统64位兼容很差,所以想把系统改为W7 64位的,现在此电脑和系统好像是绑定在一起的.不知道怎么解除,求高手支招怎么改系统.小学语文三体育老师教的,表达不好见谅~

ios-小女子求高手帮忙绘制一个自定义图表

问题描述 小女子求高手帮忙绘制一个自定义图表 小女子刚开始ios编程不久,如今有个画图表的需求,不知道该怎么实现,求高手帮帮忙,下面是需求图C804A51F-3878-4D66-9C49-EF996F790E23.png 解决方案 图都看不见. 刚开始,谁都一样,多练习多查资料,慢慢就会了,一步步来. 先自己想,先把思路列出来,不会的再查,主要是要想弄明白需求是什么,弄不明白,其他的就是会了,在遇到问题,你也想不明白. 这是我的观点,我也是刚学习IOS编程不久,经常蒙圈.多练多敲多想多查就好了.

编程-Yahoo UI(引用)问题,求高手指教!

问题描述 Yahoo UI(引用)问题,求高手指教! http://img.my.csdn.net/uploads/201309/02/1378129656_3660.jpg <!DOCTYPE html> new document <!--引入一个yui3的种子文件--> .hello{ background-color:red } <script type="text/javascript" src="http://yui.yahooapis

VC++的win32小程序内存泄漏,求高手解答

问题描述 VC++的win32小程序内存泄漏,求高手解答 做的一个简单的交通模拟小程序,用三个定时器分别产生 汽车处理消息,红绿灯更换消息和汽车随机产生消息.但是最后程序内存越跑越大.求高手解答.http://download.csdn.net/detail/hdwbdbsm/6724747这个是程序的下载地址,求高手.

求高手解答:出现警告标语: 从“double”到“float”截断。

问题描述 求高手解答:出现警告标语: 从"double"到"float"截断. 我都是用float定义的,为什么程序编译时会说从double到float截断.代码如下 #includeusing namespace std;//#define float double class po{public: po(float x=0float y=0); void setpo(floatfloat); float getx()const{return x;} float

求高手解决:0xC0000005: 写入位置 0x00000064 时发生访问冲突

问题描述 求高手解决:0xC0000005: 写入位置 0x00000064 时发生访问冲突 typedef int (_stdcall*FUNA)(unsigned short Codechar* lpDataint lpDatalen);typedef int (_stdcall*FUNB)(char *lpBuf); const char * GetProtocol = ""GetProtocolData"";const char * GetReport =

php iis mysql-用PHP实现excel数据导入数据库,但是提示500错误,服务器是IIS,求高手指点

问题描述 用PHP实现excel数据导入数据库,但是提示500错误,服务器是IIS,求高手指点 require_once ('PHPExcel.php');require_once ('PHPExcel/IOFactory.php');require_once ('PHPExcel/Reader/Excel5.php');if($_POST['leadExcel'] == ""true""){ $filename = $_FILES['inputExcel']['n

模板-求ireprot导致系统挂掉服务器内存溢出求高手指点

问题描述 求ireprot导致系统挂掉服务器内存溢出求高手指点 我用的ireport 制作的pdf模板最近在系统中时不时出现因为某个jasper文件导致系统挂掉,服务器内存被调用这个文件的一个进程占用完了但是再次在系统中打印预览这个文件又正常了.不存在数据量大的问题,求各位高手指点下可能是什么原因导致的!!