Here is the table structure for the table with all the inserts
id(PK) integer dateinserted datetime without timezone dateexamined datetime without timezone lockedby integer done boolean failed boolean invalid boolean
>select * from table limit 1; id | done | failed | dateinserted | dateexamined | lockedby | invalid --------+------+--------+---------------------+----------------+----------+--------- 3130902 | f | f | 1900-01-01 00:00:00 | | 0 | f
There is a clustered index on dateinserted, + a non clustered index on id + a non clustered index on done,failed,invalid + a non clustered index on lockedby
I was wondering if you guys have some suggested settings for our server, i think we are not hardware limited but the configureation is set up incorrectly. For some reason our database seems to have trouble handling 5-10+ inserts per second which seems to be a pretty trivial load for this hardware, we're seeing very high %iowait, this is a pretty typical output for #iostat -m 5
sda = 2x320GB 7200rpm in RAID1 (operating system) sdc = 2x150GB 10krpm in RAID1 (transaction log is on this array) sdd = 6x150GB 10krpm in RAID 10 (database is on the array)
we're using ReiserFS on each of the arrays as the file system OS is debian Etch x64
it would seem like the io subsystem is the limiting factor, but i feel like we should be barely hitting a wall, you can see from the example its writing < 2MB/s to the array. If i try to copy a big file (1-2GB) over to the array, the array hits 300MB/s sustained, it can burst write files < 256mb AT 800MB/S