need performance help: avoid starvation of short queries by long-running queries
Posted in 1998
We are running Informix Online on a 4-processor HP machine. Our application uses primarily short update transactions and short queries, but some user requests can generate queries that retrieve thousands of records. Our problem is that each long-running query appears to (approximately) consume a processor until it completes. If four long-running queries happen to end up running simultaneously, then every newly-arriving short query appears to starve until one of the long-running queries completes and frees up a processor. I would have assumed that preventing long-running queries from starving short ones would have been a basic Informix design issue, and that Informix would use a fair enough scheduling algorithm to avoid this. Obviously we must also consider lock conflicts, but if only three processors are consumed by long-running queries then short queries still complete. I am inclined to believe that we are overlooking a configuration or query-design issue. Can anyone help or at least provide insight? Dean Thompson DXI dean@ligonier.com