I am about to take a system from testing into production.
The system is a combination oltp/bi (network monitoring platform).
We are currently inserting about 1 million rows per day, and will increase to probably 5 million once it goes into full deployment.
The current test production server is running Windows Server 2003, PostgreSQL 8.1.3.
Record insertion is done via an ODBC call to a stored procedure from a Windows based host monitor.
In addition to PostgreSQL, the server also runs Apache/PHP for the GUI which displays our dashboards with the querying and drill-down front end..
It is currently running on a 3GHz Xeon HT, 2GB RAM, dual 72GB disks running RAID 1. This server is a 1U without only 2 drive bays, so I have a potential issue with drive space.
As a result, I will be moving the db server to a Dell 1650 with 3 146GB SCSI drives running RAID 0. System is a dual processor, 1.2GHz, with 4GB RAM.
Due to the amount of record insertions being performed, record insertion speed is paramount – also because excessive execution time will have a side effect of causing the monitoring agent to go stale. Some of the users have mentioned that I will get better performance running under a *nix OS. We are mostly a Microsoft OS house, but also run FreeBSD. I am considering deploying with FreeBSD 6.0. I was wondering if anyone has benchmarks showing speed of execution of PostgreSQL 8.1.3 under Win2003 and FreeBSD 6.0. Also, are there any caveats or items I should be aware of if running under FreeBSD? Any issues when running under a multi-processor kernel? Anything in specific which I should include in the kernel build to give me optimum performance for running PostgreSQL?
Needless to say, I am a bit nervous of moving to FreeBSD since I have not tested it in a production environment.
Any advice will be deeply appreciated.
Regards,
Benjamin