日期:2014-05-18  浏览次数:20798 次

紧急求助 数据库性能问题 sqlserver2000
问题描述:
最近这半个月,系统变得特别慢,可能是因为这段时间同时在线的人数增加

服务器硬件描述:   HP   4G内存   2个CPU
数据库:Sqlserver2000
目前数据量:7万条
最大同时在线人数:300人左右
数据库当前活动:进程ID数   最大值在460左右(问题可能出在这,进程ID好像只增不减)
CPU总是占到70%左右,大多数是被Sqlserver的进程所占


请各位大虾帮忙分析一下,看看可能是什么原因,根据上面的描述,是否有必要升级服务器呢?

非常紧急,目前公司的这个系统几乎像牛了,在线等,谢谢


------解决方案--------------------
可以考虑每天午夜,定时重启SQL服务,以达到资源释放的作用;

==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================
------解决方案--------------------
进程ID好像只增不减——是不是你的联接,不释放阿?

Conn.dispose....
------解决方案--------------------
因该没必要升级啊
1,你可以让SQL2000统计下用户大多访问哪些表,哪些字段,然后给那些字段建立索引
2,看看你的存储过程是不是高效的。
3,检查有没有死锁发生
4,检查是否感染了针对SQL2000的蠕虫病毒
5,检查服务器是否造人入侵
6,从应用程序方面进行优化,比如使用缓存等机制

PS:SQL2000有自带非常强大的分析功能,你可以利用它查看整个系统的状态
------解决方案--------------------
看来你的优化做的非常不好,300用户就造成这么大的问题。

可以深入的看一下数据库优化的书籍:

包含:索引的建立可以加快处理
适当的存储过程可以提高效率
代码的SQL一定要多多优化,比如top查询,记不清楚是limit了

你多去数据库板块问问 大版 非常厉害的
或者查看以前的优化数据库的帖子 也能受益匪浅
------解决方案--------------------
不知是什么系统,估计是连接数的问题,可以配下连接池。