Speeding up buddypress
I spent some time yesterday playing with YSlow and Pagespeed and a bunch of options to get my site loading faster and I thought I’d share and ask others for their experience/thoughts.
These are the things I am trying out:
* FV Gravatar Cache (plugin)
* WP Minify (plugin)
* Using dropbox as a CDN http://bp-tricks.com/featured/dropbox-cdn-host-buddypress-wordpress-theme/ (for now until I set up a ‘proper’ CDN)
Pagespeed also suggests browser caching, I know that some caching tools can cause issues with buddypress, does anyone have any suggestions of the best settings or a walkthrough for this?
I see Gravatar is a big issue on this topic. Sometimes when site loading slow, I can see (at the address bar) it’s “connecting to gravatar.com..”
@imjscn it is indeed, which is why I am trying out FV Gravatar Cache to cache them locally and then run a regular cron job to recache
I also switched off a twitter plugin BuddyPress Tweet Button that put buttons next to most activity items, contacting twitter always seemed to slow things down
I’ve gone from a page speed score of 63 to 83 using the points above and am seeing what else I can trim off
@gregfielding is that a CDN or an alternative to minify?
Using dropbox doesn’t make any diffrences. Actually it made my site to load slower . Try to Use Google Libraries and WordPress Gzip Compression plugins. IT will improve your site’s performance.
"Does anyone have an alternative to minify?"
You could do your own minify of all yours CSS styles.
Have you try W3 Total Cache?
I don’t recommend using of W3 Total Cache. When I activate that plugin, js and ajax both stops working on my site.
I don’t recommend using of W3 Total Cache.
Have you configured properly? What is your objection of Mashable is using W3 Totlal Cache?
How come Mashable can do it? They have so much HTTP files request and are able to stand out.
W3 Total Cache is developed with Dedicate hosting or VPS hosting on mind. With a Shared hosting, most of the advantage of W3 Total Cache are missed out. For this, I left W3 Total Cache.
CloudFlare might be a solution for CDN and Cache. I’m currently on it. But since my site is under developing, I only put another domain (it’s for hosting static contents) on CloudFlare, so I can’t say how much improvement it is.
W3 Total Cache is developed with Dedicate hosting or VPS hosting on mind.
That is not true. W3 Total Cache said, “Compatible with shared hosting, virtual private / dedicated servers and dedicated servers / clusters.”
With a Shared hosting, most of the advantage of W3 Total Cache are missed out.
Can you elaborate what are missed out?
But since my site is under developing
You don’t have much traffic that is what shared hosting is for. Do you know how to pilot? There is a learning curve to optimizing your site.
It is compatible with shared.
The missed out stuffs — for example, APC. We can’t install APC on shared hosting. Even if PHP next version include APC as default extention, it will depends on the hosting site enable it or not. Without APC or other caching software, the best of W3TC’s performence has no chance to show.
For the rest of W3TC’s functions, such as minify, loading js,css, CDN, I prefer to do it manually by myself, because I will have more control on it and it’s easier to know where’s the problem if any.
I feel a bit lost at your questions of “How to pilot”.
Why do you need APC without much traffic? The reason I mention pilot is it take time to learn how to fly an airplane with a lot of push buttons to scale. I’m just using philosophy example. So have you had an experience check all those features of W3TC and press Preview before Deploy it.
I don’t understand you keep harboring the beat down the dead horse about shared hosting that has no chance to show. I guess you made your mind. Good luck with that without solution for shared hosting.
And one more thing htaccess is important to optimize to cache your site.
“Why do you need APC without much traffic?” –
For me, this is the same qustions as “Why do you need W3TC without much traffic?”
The best solution is the one that works with the situation.
Because you can use W3TC for shared hosting to start with and you felt APC is need therefore W3TC has no chance for whatever your reason. And you wondering with other choice CloudFlare without understanding the whole cache based on apps. That is all I’m going to say it. Good Luck!
picking back up on this thread: dropbox as a cdn has sped my site up, minify would have been useful as manually combining all those files would make upgrading plugins a nightmare. from my understanding caching on buddypress is difficult as the pages change too often, so caching gives odd results, blogs don’t have the same problem
@djpaul : is this instead of W3? or as well as?
I am beginning to think that a combination of a PHP opcode cache, I.e. APC, and Batcache is all you need, along with a properly configured MySQL and web server.
If this helps anyone…I have a multisite blog farm with buddypress and have a solution that seems to work pretty well. I can’ use W3TC because I have multiple databases.
I use memcached and batcache which speeds up the main site and all sub-blogs tremendously for non-logged in users. Batcache only applies to visitors – which protects nicely against traffic and load spikes from Digg, etc. I have a browser where I have never actually logged-in to my site that I use to test and pages routinely load in under 1 second.
But, for members, batcache doesn’t help. I’m using widget cache and gravatar caching plugins, as well as Cloudflare as a CDN. This combination works well and my page load times are tolerable but not great. PageSpeed generally from 75-85 and YSlow from 66-76 (though YSlow doens’t recognize Cloudflare yet so I think they are docking points unnecessarily).
The biggest drag on my load times – and I think for all of us BP users – is the time it takes to load all of the separate JS and CSS scripts. Of got about 30 of each. Tis the price we pay for using child themes and lots of plugins. And minifying doesn’t work, it just makes the site go screwey.
I would love to see expert advice or a tutorial for how to enable parallel loading of CSS and JS from different domains. Or, maybe there is a way to copy all of the JS files into one file. Or, a way to pick-and-choose which JS files to load in the footer (I can’t simply put them all there because some functions break).
Hope this is helpful.
You must be logged in to reply to this topic.