Backend & systems·Concurrency and coordination
you added more workers and throughput did not improve, because they are all queued behind the same lock.
Lock contention
Time lost waiting for a lock rather than doing work. It is what makes a system stop scaling with cores or instances, and it is often invisible in per-request timing until you look at wait events. Reducing the critical section, sharding the lock, or moving to lock-free structures are the levers, in that order of effort.