Usually web projects start small, everything is on the one server. But if site becomes popular one server won't be enough.
So, since I don't have any experience in this, I'd like to get an idea of:
1. what kind of load means that I need to move my MySQL DB to a separate server and how to measure this load?
2. what kind of load means that I need to add another web server and how to measure it?
3. approximately, how many users can one server serve?
I'm talking about simple PHP app on a LAMP server like this:
* CPU: Athlon 3800+
* CPU Details: 2 x 2.0 GHz
* RAM: 1 GB RAM
* Hard Disks: 2 x 160 GB (RAID 1 Software)
if you spit plenty of images and have tens of gigabytes of those - you'll probably be limited by i/o performance of disk subsystem. in raid1 on desktop-grade disks you'll be able to server probably 200-300 images/sec [ assuming probablility of selecting them is evenly distributed ].
and so on... really - without knowing what you server it's difficult to give some numbers.
– pQd Jun 17 '09 at 15:59