I would like to share the experience to improve the Drupal performance in here :P
as we know, NODE is the base of Drupal, therefore, the node will be the bottleneck of the system as the number of node increases. In the most cases, we have multiple node types, and also some of the contributed modules are apt to store other information into node, such as content_profile, which saves the profiles into node, taxonomy_node, which saves the terms into node, and so on. Even the worse, we have many users in system, and one user has more than one profile nodes, so it will be worse.
For instance, there are 3 million users, 2 million stories, 1 million pages, 15 million private messages(a kind of node type), so totally there are 2*3+2+1+15=33 million nodes, if we use mysql as db, the performance of the database is coming now.
These days, I met the problem as I said, to improve the performance of the site and make it more flexible in the further, I used multiple drupal sites to solve this problem.
Firstly, I saved users into an individual drupal site, called user site, in which I can use content_profile module to save all the profile into drupal node, and also I can use apachesolr to index all the user information in solr.
Secondly, I built a question site which saves all the question information (question is one of content type, such as story, page.) which shares the user from user site. Same as the user site, I could use apachesolr to index all the question nodes.
At last, I could build many other sites as question site if needed, so I can extend my site horizontally.
Two cons, one is not easy to deal with node reference, if two node types have close relationship, don’t split them.
The others is views, if you want to build a complex views, there could be some problem, but it is no a big problem without views.
To access different user profiles, we can build a custom module to provide api like content_profile_load, content_profile_save, etc.
Chinese version, please check my blog here 《 Multiple sites to improve Drupal performance 》
Finally, let me show the structure of the sites:

| Attachment | Size |
|---|---|
| drupal001-multisites.png | 25.36 KB |

Comments
The problem that you describe
The problem that you describe is Drupal 6. In Drupal 7 nodes are no longer the focus, we now have generic entities. So in your example:
3 million users, 2 million stories, 1 million pages, 15 million private messages
is
3 million users, 2+1 million nodes, 15 million private messages.
--
Dave Hansen-Lange
Director of Technical Strategy, Advomatic.com
Pronouns: he/him/his
Thanks for your
Thanks for your suggestion.
Yes, Drupal 7 is different from Drupal 6.
But Drupal 7 has Node Table still, even Drupal 7 used entity and fieldAPI. If everything saves into node, the performance of CRUD will come soon, and that case could not be fit for Drupal 7 but the problem is same. :P
Drupal博客广州Drupal开发
Drupal大学Drupal大学
Redirection of users from slave site to master site
I was looking for this solution and i'm hoping to find answers here. In my case i implemented table prefixing for my sites since i'll use many modules which i dont want to load on 1 site. so master site is where user profiles are displayed (with panels etc), slave site 1 is where the blog modules are hosted, slave site 2 is where advertisement modules are hosted, slave site 3 for forums, slave site 4 for project management etc. There is also single sign on across all sites using drupal's built in single sign on.
The trick i want to implement is this: Since its the same user across all sites, If a user on slave site 1 or 2 or 3 etc clicks on their "Account information" or clicks on "another user", a redirection is done to the master site where the user profiles are displayed. In essence, there is a url alias redirection to the master site, that is, for example:
clicking on www.master.com/slave1/users/2 redirects to www.master.com/users/2
clicking on www.master.com/slave2/users/2 redirects to www.master.com/users/2
In this way i dont have to start building the user profiles again across all the slave sites (because that will entail using ctools and panels and all the modules that made me split the master site in the first place)
Please i need the redirection rule that can do this magic either on the settings.php file or .htaccess files. I tried the following in .htaccess but it didnt work:
RewriteRule ^users/(.)$ http://master.com/users/ [R=301,L]
it redirected me to www.master.com/users/* (page not found)
Help will be greatly appreciated. Cheers.
referencing other post
Also referencing my post on drupal.org site as per this issue: https://drupal.org/node/2078211