I'm afraid Oracles new Exadata X2-8 database server is somewhat above your price range (it's 1.5 million USD). But is has an excellent performance, although it only runs an Oracle database.
I'd buy a server for Windows 2008, i5 or i7 processor, 64 bit OS, 12 GB RAM or more, 2 discs of 500 GB or so (SATA or SCSI). Be sure to have adequate backup. Hardware + OS (not counting MSSQL licence) surely are less than $5k.
It will save a lot of time and money spend on 'optimizing multiple times'.
We've got a database here that serves as the core of all of our programs' data storage. Don't laugh (okay, go ahead, I do), it's currently a P4 2.8Ghz, 4GB RAM, 150GB HD running MSSQL. The owner has been reluctant to replace it until now; despite optimizing the programs and databases multiple times, the system is choking on the data.
Total load on the server includes 20 client machines with constant moderate read/write, 10 clients with light read/write, 4 power user clients with sporadic heavy read/write, and about two dozen services that hit it hourly (spaced out and heavy lifting shifted to off-hours as much as possible). Total database size is in the 20GB range split across three primary databases. The main data save the boss sees and complains about fires off about 15 stored procedures in about as many seconds, where it used to be 2-3 seconds. From what we can tell, the main problem is a lack of cache and hitting the HD far too often. Average numbers: 40% CPU, 3.9GB physical memory, 4.5GB page file, 750kB/sec on the network card.
Expansion-wise, we expect to see 10% or so more users in each category over the next year or two.
We've made suggestions about upgrades, but the boss wants a second opinion. Budget cap is $5k, but as always cheaper is better. Any suggestions for hardware that would handle the load and probably do okay for the next 5 years?