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 |