我们目前正在使用NHibernate.Caches.Redis项目,该项目在获取数据时使用了许多锁定。我们注意到默认锁定超时是30秒,这似乎是等待获取锁定的很长时间,并且当锁定失败时我们在日志中获得了大量超时,因此我们正在考虑降低值......但我们不确定是什么。
是否有人能够提供一些关于良好超时值的建议以及降低锁超时值对性能的潜在副作用?
答案 0 :(得分:0)
所以上面的问题可能有点宽泛,但是为了后代而张贴在这里,希望它能在将来帮助某人。
我们在NHibernate缓存中获得了大量锁定,导致后续超时 - 因此上面的问题。
要解决此问题,我们禁用了QueryCache并缩小了我们在L2缓存中缓存的范围。
QueryCache导致锁定的各种问题(更多细节here)。 禁用QueryCache解决了这个问题。