This post is the fifth in a series called “Pagely Answers”, which seeks to provide in-depth answers to questions that are hard to handle with a simple FAQ.
So you’ve launched your social network and are using BuddyPress to power it. You’re built on top of WordPress which clearly rocks. However, you’ve noticed your site has slowed down considerably since adding that plugin. You are not hallucinating and you’re not alone on this. In fact, this is something we deal with all the time here at Pagely®. That’s because of how BuddyPress handles its various social networking capabilities. We know from a Google study that a difference in load time of as little as 100 to 400 milliseconds has a measurable impact on user experience, and we know that slow load times are bad for organic rankings. Bad organic rankings means less visitors which means a less successful social network. So we need to get this figured out right?
First, let’s figure out exactly what makes BuddyPress so slow. Well, it’s quite simple. Because many of the social networking functions are database driven using queries, you’re likely running into a MySQL server speed bottleneck at wherever you’re hosting. If you’re currently on shared hosting, then this is definitely not a surprise. The more hosting tenants you’re sharing a MySQL database with, the slower it’s going to be. Even a VPS at a bargain basement host may not make things better. And as your BuddyPress social network scales, the number of rows in your table increases and these queries become increasingly monstrous, so unfortunately the problem will only get worse as time goes on. Page caching and CDNs aren’t much help, because we’re not concerned with static assets slowing load times but rather those pesky DB queries.
Make BuddyPress Fly
In order to have your social network powered by BuddyPress run like that monster that starts with an F, at a minimum you need to be on a VPS at a good host. Even better with would be a VPS with a dedicated MySQL DB. And even better would be a dedicated server so all the resources are completely yours. Does it have to cost a fortune? Not really. Our VPS units start at just $400/mo and are based on top of world-class infrastructure at Amazon. Want a dedicated DB upgrade? We offer those for as little as $250/mo. So your entry point for a smooth running social network on BuddyPress with any kind of traction is $650/mo and that’s not considered too bad in the world of hosting. Sure you could spend tens or hundreds of thousands building your own lightweight social network software, however that would take lots of time and you’d probably rather focus your efforts on building your business, not trying to re-create Facebook.
With a dedicated database, we can use a MySQL tuning utility to log and analyze the performance, adjusting things like database query cache based on our findings. That’s a better approach than say trying to optimize the actual MySQL queries made by BuddyPress or WordPress, as those changes will need to be made again and again each time you update to new versions of core. Instead, it’s better to accept how BuddyPress was made, run the current version so you’re secure, and put the proper hardware resources under the hood. Reach out if you need help with your BuddyPress site!