Highly concurrent application experiencing too many deadlocks
592566Nov 13 2007 — edited Nov 28 2007Our application is a highly concurrent one in which many threads are operating on the DB environment. The environment has 2 databases, and they are configured for transactions and locking. We notice a large number of deadlocks (page locks) being reported and the application suffers sometimes from poor throughput even, especially on updates.
Deadlock detection strategy is set to youngest.
The resolution for this problem, AFAIK is:
- reduce page size, which impacts throughput negatively (currently we are using page size 4k)
- convert databases to queue based, unfortunately this doesn't work for us, since our keyspace is at least 64 bit wide, the keyspace for queue databases is limited to 32 bit.
Any other suggestions?