Limit Database-Intensive Connections Per CPU
Performance impact: Variable
Check the
lock.timeouts or
lock.locks_granted.wait fields in the
SYS.SYSTEMSTATS table. If they have high values, this may indicate
undue contention, which can lead to poor scaling.
Because TimesTen is quite CPU-intensive, optimal scaling is achieved by having at most one database-intensive connection per CPU. If you have a 4-CPU system or a 2-CPU system with hyperthreading, then a 4-processor application runs well, but an 8-processor application does not perform well. The contention between the active threads is too high. The only exception to this rule is when many transactions are committed durably. In this case, the connections are not very CPU-intensive because of the increase in I/O operations to the file system, and so the system can support many more concurrent connections.