娃
娃娃
Unregistered / Unconfirmed
GUEST, unregistred user!
首先感谢您能进来看这个贴子,这问题确实怪的有点匪夷所思。
现在在维护一个三层的系统:
1、Oracle数据库
2、三层结构
3、Socket通讯
网络情况:
分为厂区和公司两个部分,用光纤相连。其它就是100M交换到桌面
一个月前还非常正常,但是最近开始发现系统性能有所下降,应该和数据库关系不大,是突然变慢许多(但也是间歇性的,一段一段时间)
然后就开始出现了一些很奇怪的问题
比如:
发现有一个报表在厂区根本无法生成,而在公司这边就可以生成,而且速度较快。
然后就带着笔记本到厂区那边调试程序,结果发现是一条SQL语句执行不过去,拿出来这条SQL语句,放到SQL Plus中执行,一样执行不了。
这个SQL语句唯一特殊的就是用了Oracle的一个函数rpad生成了200个空格做预留字段,于是我把这里改成硬性的200个空格,结果就可以了,而且速度也算正常,后来我回来到公司这边再试RPAD这个函数,效率也很快。实在是不明白。
网络情况:
在网络中用飞鸽传书或者共享文件之类的方式,传输文件,大概能到5--13M左右,算是正常。用PING也没有什么丢包断线的情况。
用Sniffer听包,也没有发现有什么异常,几个中间层的服务器的通讯量与正常使用时期还稍微偏低一些。主服务器的数据量也算正常。广播包也未见异常。可以说整个网络应该算是健康的(不排除有其它隐蔽的故障)
数据库情况:
用Oracle自带的性能检测工具“Performance Manager”查看运行时的一些参数,主服务器的负载并非高的异常,但是在分厂反应说系统慢的时候,CPU的占用率较高,大概在5-87之间上下波动,而且曲线大概是这样的。
90---- | |
| | | | | |
| | | | | |
| | | | | |
5----- | | | ||| || |
上下波动的间隔很短,而且是5到90之间快速的波动
系统中有也效能日志,经查看,基本上都是一些很正常的语句,比如:
select count(*) from XXX where XXX(条件也是定位到唯一的一个索引)
但是执行耗时长的竟然能到100多秒!
现在在维护一个三层的系统:
1、Oracle数据库
2、三层结构
3、Socket通讯
网络情况:
分为厂区和公司两个部分,用光纤相连。其它就是100M交换到桌面
一个月前还非常正常,但是最近开始发现系统性能有所下降,应该和数据库关系不大,是突然变慢许多(但也是间歇性的,一段一段时间)
然后就开始出现了一些很奇怪的问题
比如:
发现有一个报表在厂区根本无法生成,而在公司这边就可以生成,而且速度较快。
然后就带着笔记本到厂区那边调试程序,结果发现是一条SQL语句执行不过去,拿出来这条SQL语句,放到SQL Plus中执行,一样执行不了。
这个SQL语句唯一特殊的就是用了Oracle的一个函数rpad生成了200个空格做预留字段,于是我把这里改成硬性的200个空格,结果就可以了,而且速度也算正常,后来我回来到公司这边再试RPAD这个函数,效率也很快。实在是不明白。
网络情况:
在网络中用飞鸽传书或者共享文件之类的方式,传输文件,大概能到5--13M左右,算是正常。用PING也没有什么丢包断线的情况。
用Sniffer听包,也没有发现有什么异常,几个中间层的服务器的通讯量与正常使用时期还稍微偏低一些。主服务器的数据量也算正常。广播包也未见异常。可以说整个网络应该算是健康的(不排除有其它隐蔽的故障)
数据库情况:
用Oracle自带的性能检测工具“Performance Manager”查看运行时的一些参数,主服务器的负载并非高的异常,但是在分厂反应说系统慢的时候,CPU的占用率较高,大概在5-87之间上下波动,而且曲线大概是这样的。
90---- | |
| | | | | |
| | | | | |
| | | | | |
5----- | | | ||| || |
上下波动的间隔很短,而且是5到90之间快速的波动
系统中有也效能日志,经查看,基本上都是一些很正常的语句,比如:
select count(*) from XXX where XXX(条件也是定位到唯一的一个索引)
但是执行耗时长的竟然能到100多秒!