> quenting,
> You wrote about your "dual xeon" running about 30K blogs.
> Can you please say what is in the box and where do you host it?
It's hosted in france. It's a dual xeon with 4Gb RAM and 15000rpm SCSI RAID disks.
Another somewhat popular site's hosted on it so I can't tell exactly how many total blogs it could host if empty otherwise. But it can handle 30000 blogs along with this other site. Probably can 50000, hopefully I can tell soon ;).
> What folder is that exactly? /wp-content/blogs.dir? It creates a dir with the userid as name, but only when a user uploads a file, right? Currently working on a solution for this issue and that information might help.
Yes, blogs.dir is the one. On the nightly I use it creates the folder systematically, maybe things were improved since then.
Solving this problem is only a part of the scaling issue though.
Having all tables in one database is bad, even if you stay on one server. That's because 1 user = 8 tables (i think it's 8 now, although it was 10 with my nightly) = 24 files in the mysql database folder. Opening a file in a folder (when mysql needs to read from that particular table) is taking more time when you have hundreds of thousands files than if you have a couple. So splitting your database into multiple ones each having less tables inside means a general faster access to those tables. I'm guessing that's why wp.com split their tables to 4096 databases.
$That's why i think solving the directories problem is a bit narrow, soon enough you'll face other more complex problems, and you'll need to figure out a better solution, that would eventually also solve the directories problem right away. Just my 2c.