Add-on Count Viewers each forum - Optimized/Cached

RoTrKO

Member
Hi folks,

Looking for someone who can create an addon that will show Count viewers each forum (node) has active. Addon needs to be fully optimized, queries and everything should be at full performance and if possible to have caching possibility for maximizing performance :)

I have a very large forum and the need of performance is critical. Initially I tried XenConcept User Activity but the performance is very bad, it takes around 10-15 seconds to load home page for logged-in users, for guests is fast as we have cache active for guests.

Looking forward the person who can build this! :)

Thanks
 
Hi folks,

Looking for someone who can create an addon that will show Count viewers each forum (node) has active. Addon needs to be fully optimized, queries and everything should be at full performance and if possible to have caching possibility for maximizing performance :)

I have a very large forum and the need of performance is critical. Initially I tried XenConcept User Activity but the performance is very bad, it takes around 10-15 seconds to load home page for logged-in users, for guests is fast as we have cache active for guests.

Looking forward the person who can build this! :)

Thanks
We have a similar experience for xenforo 1.5 and will be glad to rebuild this addon for you with a 0% performance effect. Started private conversation to discuss further.
 
@Xon has User Activity add-on which adds viewer count.
Thank you for the suggestion, I have tried the addon by Xon but that one is based on User Activity bread-crumb not from User Activity of the users based on cookie time. XenConcept built the feature based on exactly our needs but performance wise is overkilling it :(
 
What do you mean on cookie time? Xons add-on does everything your looking for and more. What feature is missing that you need just out of curiousity? The add-on shows who's viewing the forum and leaves the amount next to the forum (1 users, 20 users, 100 users.. etc). I'm not exactly sure what breadcrumb and cookie time means.
 
I had this for XF 1.x. It used a table (memory) to store who was viewing what (it drilled down, ie: forum home->category 1->forum 2->sub forum 3->thread x). It respected user privacy settings and hidden forums. I just never ported it over to XF 2.x. Here are some screenshots:

ss_1.webpss_3.webpss_4.webpss_9.webpss_10.webpss_11.webp

I'm not sure if demand is great enough to port it over or not.
 
What do you mean on cookie time? Xons add-on does everything your looking for and more. What feature is missing that you need just out of curiousity? The add-on shows who's viewing the forum and leaves the amount next to the forum (1 users, 20 users, 100 users.. etc). I'm not exactly sure what breadcrumb and cookie time means.
Xon add-on actually does not provide the accuracy I'm looking tbh, while using XenConcept we have around 1K viewers under X category, using Xon add-on shows around 100~. I assume it does not take into account also sub forums and threads.

I had this for XF 1.x. It used a table (memory) to store who was viewing what (it drilled down, ie: forum home->category 1->forum 2->sub forum 3->thread x). It respected user privacy settings and hidden forums. I just never ported it over to XF 2.x. Here are some screenshots:

View attachment 225271View attachment 225272View attachment 225273View attachment 225274View attachment 225275View attachment 225276

I'm not sure if demand is great enough to port it over or not.
I think there will be some good demand on it if performance is not being impacted, perhaps you can look at XenConcept discussion topic for people asking better performance :)
 
For add-ons of this type there will be a performance hit, depending on how many child and sibling nodes there are. The further down you go the lesser the performance hit, until it hits a point where there is virtually none. In the options screen shot, there are options to display just the totals, for performance reasons (especially important for forum home).

To help mitigate the hit I used a table:

PHP:
            CREATE TABLE IF NOT EXISTS xf_iwd_insidious_six (
                user_id INT UNSIGNED NOT NULL,
                node_id INT UNSIGNED NOT NULL DEFAULT 0,
                top_node_id INT UNSIGNED NOT NULL DEFAULT 0,
                thread_id INT UNSIGNED NOT NULL DEFAULT 0,
                activity_date INT UNSIGNED NOT NULL,
                PRIMARY KEY (user_id) USING BTREE,
                KEY activity_date (activity_date) USING BTREE
            ) ENGINE = MEMORY CHARACTER SET utf8 COLLATE utf8_general_ci

Keeping track of the top_node_id helps with performance as it cuts the queries way down (only one needed to get all those viewing threads in the top node id's child/sibling forums). Cron keeps this table pruned.

Also when updating that table it is wrapped in a try catch statement because if it can not be updated for whatever reason, it really is not important at all.

IMO that add-on I created, depending on the options selected, really should keep performance issues as minimal as can be.
 
Top Bottom