IMHO, you just can’t buy a ferrari if you don’t have money to mantain it as well as you can’t start your social network without the money to upgrade your server resources.
i think this is your main problem, since, you can optimize the resource the best you can, but, whenever your network will grow up you will need to add extra resources.
little example: the most used feature of all social networks, i think is the Activity Stream, that should track each user action, well, where do you think all this information where stored?