【发布时间】:2016-03-27 23:36:08
【问题描述】:
我知道什么是死锁以及数据库是如何生成的。我的目标是彻底澄清这个问题并记录下来。
1- 我如何处理 sql server 中的死锁?是否有任何库或工具来处理主题?
2- 在实时场景中,当我的数据库在短时间内接受大量请求时,我如何强制执行。例如:我有 8 台专用服务器,他们正在使用 一秒钟内每个请求 20 000-40 000。
a-> 哪个是最好的负载平衡工具,特别是如果我想 摆脱死锁
b-> 应该在哪一层最适合负载均衡 物理层或软件层或两者兼而有之。当然是两者,但如何 在你的经历中?例如,netscaler 在物理上如何?一世 想知道它们的优缺点吗?
【问题讨论】:
-
如果你不知道什么是死锁,你应该开始here。这不是一个可以用问题来解释的简单话题;它太宽泛了。底线是您可以编写代码来减少死锁,但您基本上永远可以完全消除它们。您的应用程序只需要在它们发生时能够处理它们。
-
简短回答:尝试快照隔离:brentozar.com/archive/2013/01/…。不过这东西很复杂。您应该首先隔离特定查询是否导致死锁。这是一个链接:brentozar.com/archive/2014/06/capturing-deadlock-information。我只是发布链接,因为您需要阅读并理解这些链接,然后发布特定问题。
标签: sql-server multithreading deadlock isolation