求高手解决服务器问题。最近网站特别卡,数据库经常锁死,求高手指点!!!!数据库是sqlserver2000。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求高手解决服务器问题。最近网站特别卡,数据库经常锁死,求高手指点!!!!数据库是sqlserver2000。相关的知识,希望对你有一定的参考价值。

服务器几百万买的,硬件配置没问题。cup使用率很低,网速也没问题,丢电信托管的。但是数据库经常出现死锁的情况。
用户天天都在反映系统卡,如果把sqlserver2000换成sqlserver2008能解决问题吗?
能解决问题的话再追加财富点。
谢谢大家,追加50分,求大家再帮忙想想!

非常感谢瑞致和、szm341!大哥们,能指条明路吗?我第一步该做什么,第二步该做什么。。。。详细点!

再追加50分,谢谢!谢谢!!!

死锁一般是编程及优化方面的问题,用引擎优化顾问(不知道2000有没有呵呵)优化一下索引看看
一般死锁在数据库中会瞬间被解除,客户反映的卡应该属于阻塞,你应该往优化方面考虑
用profiler检测一下耗时的严重的语句,想办法优化业务流程以及数据处理流程
2008性能方面肯定是优于2000的,但是如果你程序设计的很烂的话,再优越也体现不出来追问

业务流程以及数据处理流程的优化基本上不可能啊,只能从其他方面来考虑。

追答

除了硬件方便就只有数据库结构及编程方面的优化了,这都不可能你想通过什么方式呢?
结构方面就是上面提的优化一下索引,编程方面就涉及到数据库锁知识了,这个你要自己渗透
如楼下说的脏读问题,不过他恰恰说返了,允许脏读正是缓解数据库阻塞与死锁的一个手段,
但是要根据你的业务流程来决定,比如银行一类的系统,涉及到金额方面的就不能允许脏读
----------------
我上面提的已经很清楚了,首先用profiler确认问题,是你所谓的死锁导致的还是我说的阻塞导致
然后利用引擎优化顾问来优化一下索引,优化索引可以达到优化阻塞及死锁的效果
再者,根据优化后的效果,如果还是不佳可以考虑允许数据脏读,就是查询时在表名后面加with(nolock),但也要根据实际业务慎用

参考技术A 以前有没有类似情况?
没有的话
1:被DDOS攻击了,查看下防火墙和网站流量是否异常。
2:sqlserver数据库效率不会差很远,没必要换。你看下程序是否有代码出现脏读的情况!这样导致数据库死锁!追问

以前不觉得卡,就前一久增加了一个系统,和原来的系统共同使用一个数据库,就开始卡了。
网速是没问题的,也没发现被攻击。
您说的代码出现脏读我不太理解,是不是指死循环?

追答

比如A代码改了一个数据没提交事务,B代码去读这个数据,结果就会很卡,你可以用代码试试!

参考技术B 你这个情况,先要从数据库本身的语句优化开始,不知道你能不能拿到事件探查器的内容,这个非常关键。对于消耗资源的语句,着重分析其执行计划情况,出现阻塞或死锁有很多种情况,比如索引运用不当,长时间的事务,不同的访问顺序等,当然也可以让索引优化器这个工具来帮你的忙。

java如果很多用户同时访问一个服务器会导致速度变慢。应怎么解决?求高手帮忙。急!!

这个问题从根本上来说是系统计算资源不足导致的,难于解决。

我们可以考虑解决的方向:
1. 最简单的,换上更好的硬件,但要花钱;
2. 其次,可以在服务器限制一次并发访问的数量,这样也能解决,但会导致一部分用户体验下降;
3. 再次,仔细的分析后台代码,找出瓶颈所在,并通过优化算法等改进性能,但耗时最久,并且也不一定能最终解决。追问

除了用连接池限制访问量之外还有什么比连接池更好一点的呢,他们说连接池不好

追答

基本上,就是连接池或者连接池的变种了。
只是可以在多个层次上加连接池:
1. 用户访问连接池
2. 数据库访问连接池
3. 根据系统具体情况建立的连接池。

参考技术A 您好,提问者:
1、修改连接池。
2、进行压力测试。
3、给需要查询最多的数据库字段创建索引。
4、再就是关于硬件、内存、网速的配置了。
5、设置并发数量。

以上是关于求高手解决服务器问题。最近网站特别卡,数据库经常锁死,求高手指点!!!!数据库是sqlserver2000。的主要内容,如果未能解决你的问题,请参考以下文章

tomcat启动特别慢,求高手解答!

SQL 数据库 锁,有请高手给小弟分析

求编程高手解决一个小问题

为啥我的Lotus Notes 6.5打不开?求高手

eclipse运行慢经常卡死,求大神解决

iis配置ssl,求高手。。