* JM <frawst1@xxxxxxxxx>: > I'm quoting out a system for a Windows/Apache/PHP/MySQL > database-driven web application I've written. I've never gotten too > deep into determining what is the actual performance bottleneck in > this scenario. Is it the disk or the RAM? > > I expect about 75-100 users during business hours. 90% will be in the > LAN and 10% will go over the WAN. > > I'm wondering if I can get good performance out of a small system with > 2GB RAM, 1GBps NIC, and a SATA disk or three spanned. You don't indicate how many queries are made on a given page, how much data is handled, etc., Without seeing some code, it's hard to say what the bottleneck for performance will be. I've done some fairly critical stuff that, because I took the time to optimize the database, optimize how much data gets displayed at a given time (pagination is a *good* thing), streamlined the code to minimize file and database calls, and setup the box to only run what was necessary for serving pages, I was able to get away with using a sub-400Mhz box with 384MB of RAM and a 20GB drive (this was a LAMP setup). And it performed well, even with decent user load. Disk calls are always more expensive than RAM calls -- but if you're hitting a database, you're hitting the disk anyways (unless the queries are getting cached). Run benchmarks, and try to minimize the number of file calls and database calls to what is absolutely necessary. Consider dumping Windows for a Linux flavor, or one of the BSDs. You can tune these better to only run the services needed for the web stack (Apache, MySQL, cron, firewall, formail/msmtp/sendmail). Because of the shared-nothing architecture of PHP, you really don't need heavy hitting boxes in order to get good performance. They don't hurt, but they're not necessary. -- Matthew Weier O'Phinney Zend Certified Engineer http://weierophinney.net/matthew/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php