【发布时间】:2010-11-23 20:36:44
【问题描述】:
我正在研究一个大型 C#/.NET 3.5 系统的性能问题,该系统表现出性能下降,因为发出请求的用户数量增加到每秒 40-50 个不同的用户请求。
请求持续时间显着增加,而 CPU 和 I/O 负载似乎保持不变。这让我相信我们可能对系统中的共享对象(使用 c#lock() {...} 语句保护的共享对象)可能会影响并发访问性能存在问题。具体来说,我怀疑在受关键部分保护的常用共享数据上会发生某种程度的锁护送(因为它是读/写的)。
是否有人对如何实际诊断是否存在锁护送问题..或者任何类型的锁争用导致请求时间过长有什么建议?
【问题讨论】:
标签: c# .net asp.net multithreading concurrency