BuddyPress 2.0 Ramps Up Performance, Reduces Footprint by Up to 75%

For the past couple months, BuddyPress core developer Boone Gorges has been hinting at some big performance improvements coming to BuddyPress 2.0. He’s been working tirelessly to make the plugin faster and has published some benchmarks to demonstrate the improvements in 2.0.

He posted statistics that compare the number of MySQL queries and the total query time. For example, the BuddyPress activity directory has received a number of changes that result in some fairly significant performance gains. With APC off, the number of queries has been reduced from 80 in BP 1.9.2 to 59 in BP 2.0. With APC on, the number of queries is reduced from 10 to 5. This results in a significant drop in the query time as well.

Here’s a visualization of the reduced query time on the activity directory page with default filters, viewed as a logged-out visitor, with APC on.

bp-activity-query-time

When it comes to the Members directory, you’ll see some drastic improvements as well. Gorges published data based on the 234th page of the Members directory, sorted by Last Active (/members/?upage=234), as seen by a logged-out visitor. Here’s what the drop in query time looks like with APC on:

bp-members-directory

As you can see, the query times have been reduced by approximately 50% in both cases, which is going to make BuddyPress 2.0 much more zippy and enjoyable to use. Check out Boone Gorges’ post for more data, as this is just a small sampling.

BuddyPress Footprint Reduced by Up to 75% in Many Places

Gorges generated 30,000 members and 60,000 activity items for the tests used to report these benchmarks and found that the BuddyPress footprint for 2.0 has been reduced by up to 75% in many places.

The number of queries per page load in each case has been cut by up to 50%, and query time, on average, has been cut by more than 50%. And remember that these numbers are total values – it’s BP on top of WP’s standard queries. That is to say that the query footprint attributable to BP itself has been reduced by up to 75% in many places.

Additionally, Gorges said that his tests revealed corresponding improvements in script execution time and memory footprint, but since those numbers are dependent on the hosting environment, he decided not to include them in his report. Nonetheless, it should be exciting to see how BuddyPress performance improves across the board.

The drastic increase in performance is one major reason why you’re going to want to be ready to upgrade to BuddyPress 2.0 when it is released. Test your site with the 2.0 Beta 1 now in order to get your ducks in a row and help report any bugs. BuddyPress theme and plugin developers will want to have all of their products compatible with 2.0 as soon as it’s out the door, since BP site admins will likely be anxious to update their sites immediately.

For anyone who hosts a BuddyPress community or participates in one as a member, your experience with this software is about to be drastically improved. Look for the official BuddyPress 2.0 release to drop the same week as WordPress 3.9.

2

2 responses to “BuddyPress 2.0 Ramps Up Performance, Reduces Footprint by Up to 75%”

  1. Thanks for article! It’s great that BP is reducing number of queries. Performance is really important, that’s why I’ve just left joomla in favour to wordpress. It was impossible to work efficiently, and bad seo (id’s in urls, which is connected to whole bad structure of joomla framework) made my decision finally.

    I’m looking to build niche community with functionality similar to facebook, especially I’m looking into solution with user’s advanced wall (in joomla there are two main script with this: JomSocial and EasySocial), I know BuddyPress lacks of it, but there is small hope in plugins (like https://wptavern.com/new-plugin-adds-buddypress-activity-as-a-wirewall-to-user-profiles). Maybe you know some good way to offer users advanced box with adding photos, videos, geo-localization etc.? Regards

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.