Hi Michael-
Yep, we’re aware of the effect BP Docs has on load times. The bottleneck is that we have to modify every call to WP_Query that might possibly return bp_docs so that private docs are protected at all times.
You can greatly speed up non-doc-related queries by specifying the post_type in each query. For instance, if you’re querying by a taxonomy term that only applies to posts, but not specifying post_type => post in your query (because you’re thinking that that taxonomy term will only return posts, so why bother?), our protection has to run. Specify the post_type and the BP Docs query will not run.
If you have access to your server, you can optimize your MySQL instance, too, for the added load that the protection queries cause. Try http://mysqltuner.com
The bottleneck is that we have to modify every call to WP_Query that might possibly return bp_docs so that private docs are protected at all times.
Ok, but are you going to fix this problem in the future?
Greetings
> Ok, but are you going to fix this problem in the future?
What exactly is the problem? This is simply how the plugin works. WordPress’s architecture means that there is no other way to enforce fine-grained privacy settings.
FWIW, there’s not much that one can reliably say about the pie charts posted by @mln83. For one thing, I don’t have a ton of faith in profiling tools that are themselves WP plugins, without knowing more about how they work. More importantly, there are dozens of variables that may cause apparent performance issues like this, and without knowing exactly why the profiler is blaming things on BuddyPress Docs, it’s impossible to say whether it’s valid or whether it can be “fixed”.
Thread Starter
mln83
(@mln83)
Hi @boonebgorges,
Thanks for responding to this. While I only provided one pie chart I did some further tests using browser developer tools to check frontend site load time with BP docs activated and deactivated, respectively. It showed a difference of about +1 second load time in my case. Unfortunately, I don’t have access to the server so I can’t perform MySQL optimization as suggested by David. Thus, I have decided to go for another collaborative plugin for the time being. I still think you did an awesome job when you decided to create this plugin but until I get a dedicated server it’s not something I can use.
Georg.io: Another way to reduce site load time is to use Plugin Organizer (https://wordpress.org/plugins/plugin-organizer/) and switch off BP Docs (and other plugins) on pages where they are not needed.
FYI: You may also want to check out this critical review of P3 Profiler
https://managewp.com/plugin-performance-profiler
In any case, I always recommend people to do their own tests since user requirements may differ.
Best regards,
Michael
> Ok, but are you going to fix this problem in the future?
What exactly is the problem? This is simply how the plugin works. WordPress’s architecture means that there is no other way to enforce fine-grained privacy settings.
Hi @boonebgorges
I think that I misunderstood David Cavins’ explanation. Thank you for your response.
Thus, I have decided to go for another collaborative plugin for the time being. I still think you did an awesome job when you decided to create this plugin but until I get a dedicated server it’s not something I can use.
Hi @mln83
I think also that BP Docs is an excellent plugin but I can’t use it either with my shared server. Did you find a lighter plugin? In case I don’t find something in the repository, can I contact you through your site’s contact form?
Another way to reduce site load time is to use Plugin Organizer (https://wordpress.org/plugins/plugin-organizer/) and switch off BP Docs (and other plugins) on pages where they are not needed.
FYI: You may also want to check out this critical review of P3 Profiler
https://managewp.com/plugin-performance-profiler
Thank you for the info about Plugin Organizer. As for the P3 Profiler, I have already tested it and have the same opinion as the reviewer.
Regards