[buddypress-trac] [BuddyPress Trac] #5328: Use of the WordPress HeartBeat API to check for newest activities and to let user load them
buddypress-trac
noreply at wordpress.org
Fri Feb 21 23:31:41 UTC 2014
#5328: Use of the WordPress HeartBeat API to check for newest activities and to
let user load them
-------------------------------------------------+---------------------
Reporter: imath | Owner: imath
Type: enhancement | Status: closed
Priority: normal | Milestone: 2.0
Component: Activity | Version: 1.9.1
Severity: normal | Resolution: fixed
Keywords: has-patch 2nd-opinion needs-testing |
-------------------------------------------------+---------------------
Comment (by aaclayton):
I'd like to chime in on this issue as a potential detractor. I think the
spirit behind this addition to BuddyPress is great, but I really don't
think the Heartbeat API is yet to a state where it should be enabled on
the frontend. Heartbeat (by default) calls admin-ajax every 15 seconds for
every active user. On top of normal page requests and normal one-time ajax
calls, this can be a massive blow for large sites.
Here's a short blog post I saw related to this point:
http://www.markomedia.com.au/admin-ajax-php-high-cpu-problem-solved/
And some more evidence: http://wordpress.org/support/topic/admin-ajaxphp-
being-called-from-admin-pages-causing-db-connection-issues
On my site (for example) I often have upward of 200 concurrent logged-in
users, I don't want heartbeat coming anywhere near my frontend. In fact,
admin-ajax is already pretty inefficient. So much so, that for an ajax
heavy theme (which every BP theme would be if heartbeat is integrated) you
are much better off routing theme-side ajax calls through a separate
custom frontend AJAX handler which uses almost 50% less memory.
The heartbeat API is great for the WordPress backend, but let's face it,
WP is not by nature a membership site platform. Heartbeat was designed to
allow a team of authors to avoid stepping on each other's toes.
Ultimately, an option to disable this would be sufficient, but I can't
really be excited about this even as an optional feature.
--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/5328#comment:24>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac
More information about the buddypress-trac
mailing list