精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-20
Lucas Lee 写道: hgq0011 写道: [quote="Lucas Lee"] 另外,系统假死的原因很多,并不是给与更多的内存和CPU资源就能解决的。[/quote]
我们的系统在处理大的并发事务的时候,就有可能出现假死(或者有时系统更本就不能用,等待一段时间也活不回来了)。企业应用的系统应用程序只有2G的内存也太少了吧,我的机器都用1.5G的内存了。“系统假死的原因很多”能告诉我有那些原因呢?谢谢! 比如,事务较长,导致其他事务必须等待锁的释放;在你的应用程序里,是否存在多线程之间的类似的等待锁的情况;使用了其他需要IO等待(比如发送邮件,网络可能拥挤)的程序,而没有使用异步调用,导致程序需等待调用成功才能继续执行。
可能是存在长事务处理,系统在某过并发使用时,一个用户一次操作处理的东西太多,然后系统的资源又不够用,所以发生了交通堵塞。 |
|
返回顶楼 | |
发表时间:2007-03-20
这种问题应用程序本身是很难产生的,是否你们的系统用到了某些和硬件有关的资源?或者是数据的使用反面有问题.
至于说4G/2G的问题,除非是操作系统或主板自身驱动有问题,否则不会有影响. |
|
返回顶楼 | |
发表时间:2007-03-21
@Arath
系统要用到额外的硬件资源比如用读卡器读ID卡,你说的“系统用到了某些和硬件有关的资源”是不是指这些呢? “数据的使用反面有问题”这个怎么理解呢?能具体的说说吗? “至于说4G/2G的问题,除非是操作系统或主板自身驱动有问题,否则不会有影响.”这个确实和操作系统有关,但和主板似乎没有多大的关系。 |
|
返回顶楼 | |
发表时间:2007-03-21
1. 某些外设可能因为其自身的驱动或者硬件问题,回导致系统锁死,这个以往我身边的同事遇到过,结果是发现一块卡硬件出了故障
2. 打错了,应该是“使用反面”,对数据库研究不深,但是的确遇到过使用不当结果数据锁死了系统 3. 主板的BIOS是有影响的,比如对不同内存的匹配,当然既然是IBM的服务器,如果有问题找IBM |
|
返回顶楼 | |
发表时间:2007-03-21
@Arath
谢谢! 1)确实某些硬件的冲突会导致系统死机。不过,我的问题和它的关系不大。 2)数据库的死锁这个可定有一定的关系的。因为同一时间用的人很多,而都会用到事务处理,而且可能是对同一个表的操作或多个表的操作。 3)这个应该不会吧。我的OS能检测到4G 的内存。 |
|
返回顶楼 | |
发表时间:2007-03-21
如果肯定这是SQL Server死锁引起的话,建议升级到MS SQL 2005。MS SQL 2005用了version based的方法来处理锁,大大降低了死锁的可能。刚才还和两个搞.NET的同事讨论确证了一下。一个同事说这个功能默认设置没打开。呵呵,自己去查查文档吧。
东西跑得好好的时候,谁搞都无所谓,忽然不工作了,这时水平高低才看得出来。高手也就是靠平时积累。平时读读Microsoft Windows Internals, 4th Edition, by Russinovich, Solomon; Programming Applications for Microsoft Windows,by Richter; The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson. 这里特别推荐Ken Henderson的书。这位MS SQL大牛是在微软做MS SQL技术支持的。他也看不到源代码。但是这位老兄居然能用debugger来研究SQL Server是怎么工作的。虽然他书里没有说,但我怀疑他用反汇编把SQL Server全反编译了。 这种精神太让人佩服了。如此诚心,何事不成。 |
|
返回顶楼 | |
发表时间:2007-03-21
由于sql的死锁导致系统挂起,如果真的这样那么ms sql真的比较烂了,DBMS必须能够自己解决死锁的问题
|
|
返回顶楼 | |
发表时间:2007-03-22
[quote="bigpanda"]如果肯定这是SQL Server死锁引起的话,建议升级到MS SQL 2005。MS SQL 2005用了version based的方法来处理锁,大大降低了死锁的可能。刚才还和两个搞.NET的同事讨论确证了一下。一个同事说这个功能默认设置没打开。呵呵,自己去查查文档吧。 东西跑得好好的时候,谁搞都无所谓,忽然不工作了,这时水平高低才看得出来。高手也就是靠平时积累。平时读读Microsoft Windows Internals, 4th Edition, by Russinovich, Solomon; Programming Applications for Microsoft Windows,by Richter; The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson. 这里特别推荐Ken Henderson的书。这位MS SQL大牛是在微软做MS SQL技术支持的。他也看不到源代码。但是这位老兄居然能用debugger来研究SQL Server是怎么工作的。虽然他书里没有说,但我怀疑他用反汇编把SQL Server全反编译了。 这种精神太让人佩服了。如此诚心,何事不成。 [/quote] 谢谢,您的指导,:) “The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson”这本书我到挺感兴趣的,改天去书店看有没有。 其实,我们用的这套系统是买来的,用pb写的,我们对那块不熟悉,只能跟踪SQL SERVER,还有用户的使用情况,服务器的使用效率来推断了。
|
|
返回顶楼 | |
发表时间:2007-03-22
hurricane1026 写道: [quote="bigpanda"]如果肯定这是SQL Server死锁引起的话,建议升级到MS SQL 2005。MS SQL 2005用了version based的方法来处理锁,大大降低了死锁的可能。刚才还和两个搞.NET的同事讨论确证了一下。一个同事说这个功能默认设置没打开。呵呵,自己去查查文档吧。 东西跑得好好的时候,谁搞都无所谓,忽然不工作了,这时水平高低才看得出来。高手也就是靠平时积累。平时读读Microsoft Windows Internals, 4th Edition, by Russinovich, Solomon; Programming Applications for Microsoft Windows,by Richter; The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson. 这里特别推荐Ken Henderson的书。这位MS SQL大牛是在微软做MS SQL技术支持的。他也看不到源代码。但是这位老兄居然能用debugger来研究SQL Server是怎么工作的。虽然他书里没有说,但我怀疑他用反汇编把SQL Server全反编译了。 这种精神太让人佩服了。如此诚心,何事不成。 [/quote]
TMD,怎么总有这么牛的人,你每次出来都一堆书名,跟着看过去,不累死,也穷死。。。。:D 现在,好书太多,更新太快,人的精力有限,不到这些牛人们怎样来处理的。 |
|
返回顶楼 | |
发表时间:2007-03-22
[quote="Arath"]由于sql的死锁导致系统挂起,如果真的这样那么ms sql真的比较烂了,DBMS必须能够自己解决死锁的问题[/quote] 这个应该由DBMS或程序员来处理。我们的系统在下午有一个使用的高蜂期,而每个用户的事务处理,可能比较长,那么数据库就成了一个瓶颈了, |
|
返回顶楼 | |