On 07/03/12 12:34 AM, Craig Ringer wrote:
> I'm seriously impressed that your system is working under load at all
> with 800 concurrent connections fighting to write all at once.
indeed, in my transactional benchmarks on a 12 core, 24 thread dual xeon
x5600 class systems, with 16 or 20 spindle raid10, I find somewherre
around 50 to 80 database connection threads has the highest overall
throughput (several thousand OLTP transactions/second). this hardware
has vastly better IO and CPU performance than any AWS virtual machine.
as craig suggested, your network threads could put the incoming requests
into queue(s), and run a tunable number of database connection threads
that take requests out of the queue and send them to the database, and
if neccessary, return results to the network thread. doing this will
give better CPU utilization, you can try different database worker
thread counts til you hit the optimal number for your hardware.
--
john r pierce N 37, W 122
santa cruz ca mid-left coast