I’ve been using this plugin for 2 years on my low activity forum.
My belief is that seeing there are people online now is an incentive for visitors to sign up and post because they can see that they are currently people here that will read reply (hopefully).
I think the best thing to do in my case is to show the online people list for both visitors and registered people. Because of low activity, seeing online people at the same time as us is reassuring. Plus, it’s good to stay around when there are other people, and I imagine people more inclined to close the window if there is nobody (visible) around.
What do you think about that? Of course, I guess it can be different for different communities…
I’ve installed the plugin on my new forum, which is way more active. My co-admin asked me if we could disable the plugin for visitors, and I wonder if disabling it would have, in theory, a negative impact regarding new registrations and participation.
We ran the Who’s Online Plugin for many months. After extensive testing, we determined this plugin was the root cause of some performance issues; all of which (the performance issues) disappeared after we disabled it. I partially documented this here:
Maker Forums has a large user base, but rarely has enough users simultaneously online to collapse the Who’s Online avatar display. We found that the Who’s Online plugin was responsible for sluggish performance, even to the point of timing out requests, even with only a couple online users. We use an external nginx config with an offline page and we were periodically displaying the maintenance page when no maintenance was underway as a result of those timed-out requests.
We do serve images locally after migrating off of digital ocean spaces, which creates competition for unicorn workers. However, we’re running everything on a 2 CPU 4GB VM, and we have a relatively large database (about 400K posts, 6GB database) so we don’t have space to just add lots more unicorns at half a gigabyte each. I suspect that if we were using object storage for images, the overall impact would be smaller due to less competition for unicorn workers, but it wouldn’t take much for it to be still significant, given that we saw this impact currently with even just two users online.
Update: Modifying the rate limiting flood zone from 12r/s to 36r/s, and burst from 12 to 36, has at least reduced the impact of who’s online. We are testing this configuration now.
Further update: with the tripled flood rate, we have had no reports of problems now.
I am using external nginxand have applied the rate limiting to the external nginx, using the ratelimited template as a starting point but am using rate limiting in the internal nginx, because the external nginx doesn’t know which routes are static, and so applies rate limiting to static routes as well as to dynamic ones, which when I did it caused lots of failures/retries on loading static assets. Note that this is a reason to run external nginx; otherwise I think that all IPv6 traffic is attributed to the docker IP address and is rate limited as if it is one IP address.
@neounix, I’d guess that the combination of external nginx and higher rate limits applied only in the external nginx would make it possible for you to re-enable who’s online, if you want. We went from frustratingly slow site response (at least for me) to not noticing the difference in performance (<500ms to full paint from a non-CDN-enabled server 70ms ping away) just by increasing the rate limits in the external nginx (already configured originally for maintenance page).
Maybe… but we’ve lost interest in that plugin for now, not a single user has “missed it”, and so I don’t think it adds enough value to the site to tweak it; considering how busy we are on other webdev tasks.