这两天独自一人临时被公司派到一个异地客户单位跟踪之前实施的一个软件项目,分析频繁宕机原因(是否与程序有关)。
[b]硬件环境[/b]:windows2003server系统,4G物理内存,4CPU 2.0GHz;
[b]服务中间件[/b]:weblogic9.2;
[b]系统情况[/b]:公司有一套java编写的系统(开发了好几年了),曾经已经在多家单位实施过(一般都是不长期处于100人在线的情况,windows系统2周重启一次机器)。但是没有碰到目前单位的情况,每天从早到晚都同时有超过180人以上的用户在线并且频繁的操作(在线指登陆系统的用户,不包括不需要登陆系统但是可以直接通过连接查看内网发文的外网用户),经常有超过200人在线的情况,使用率确实非常高。原先项目组人员是把系统发布在tomcat5之下,发现宕机频繁。这两天我把系统移植到了weblogic92下面,可以很明显的感觉到在用户达到180左右,系统压力没有以前那么大,不管是内存还是cpu或者是系统线程数方面都维持的很好。
[b]目前情况[/b]:昨天在机房监视了一天,情况都比较好,下午开始用户数也逐渐增加(超过200)。直到下午5点钟左右,突然又出现几日前的情况,机器宕机了。我把宕机时候的参数全部抄了下来:4CPU平均使用了3%,可用内存还有1700M左右,系统显示线程数752,进程数58。出现宕机的情况时,我还正在使用远程桌面操控服务器,但是此时使用别的机器ping服务器的ip已经无法ping通,当然系统也登陆不了。于是我只能使用已经连接的远程桌面查看机器状况,并没有死机现象,我甚至可以操控服务器进行重启之类的操作。重启机器之后,重新开启服务,一切又恢复之前的良好状态。目前系统所有功能是运行在客户单位的内网,与外网隔离。
[b]网络分析[/b]:昨天现场进行了服务器大包ping通测试,发现此服务器只能接收ping ip -t -l 40000操作(45000就会偶尔丢包),不能达到50000的ping通(50000时完全丢包)。
本人一直做技术研发,之前没有较多关于项目实施经验这方面的经验,现在客户要我给出一个确定的答复,到底是用户量太大导致的网络瓶颈问题,还是程序引起的宕机问题。请各位有相关经验的朋友帮忙分析下情况,给点调试意见,比较急。
在此谢过了。