Rhys Hanrahan
-
Posts
2 -
Joined
-
Last visited
Content Type
Downloads
Release Notes
IPS4 Guides
IPS4 Developer Documentation
Invision Community Blog
Development Blog
Deprecation Tracker
Providers Directory
Forums
Events
Store
Gallery
Posts posted by Rhys Hanrahan
-
-
Hi Everyone,
We are a new user of Invision, and have setup a private (no guest access) community that will serve a few thousand people.
I have been doing Apache Bench testing while trying to optimise our configuration. What I have noticed is that when I setup Redis (locally on the server) that our benchmark tests actually were consistently slower. Now I did expect there to be overhead of adding another component and caching calls into the mix, but my assumption was that the benefit of caching would surely outweigh this overhead.
This makes me think - is there a trick to getting Redis to work correctly? Have others found if there's even a benefit to running caching for a private community? I can see some of the caching settings are geared towards reducing the load of guests - maybe since we won't have any guests then the majority of caching won't serve any benefit to us?
The environment runs Ubuntu Linux with 16 GB RAM and 4 virtual CPUs. The environment is using Nginx with PHP 7.4 FPM. What I saw in my testing was that without caching, we were bottlenecked by the 4x CPU cores, and after enabling Redis we were _still_ bottle necked by CPU of the FPM processes, with the addition of Redis now using some of that CPU but not offering any real benefit, hence the slowdown.
For what it's worth, I did confirm Redis was storing _some_ data, though not much (see below). Any advice on how to get some benefit from caching in a private community would be appreciated.
When doing my benchmark I was doing a test against the front page of the forum, with a summary of all the forum posts on it figuring this was a reasonably intensive workload to benchmark against (I built a request using Chrome dev tools to make sure my AB requests would be authenticated).
127.0.0.1:6379> KEYS * 1) "XXXXXXXX_redisStore_lastAccess" 2) "XXXXXXXX_YYYYYYYYYYY_str__modules" 3) "XXXXXXXX_redisKey_store" 4) "XXXXXXXX_YYYYYYYYYYY_str__bannedIpAddresses" 5) "XXXXXXXX_YYYYYYYYYYY_str__javascript_file_map" 6) "XXXXXXXX_YYYYYYYYYYY_str__settings" 7) "XXXXXXXX_YYYYYYYYYYY_str__themes" 8) "XXXXXXXX_YYYYYYYYYYY_str__javascript_map" 9) "XXXXXXXX_YYYYYYYYYYY_str__languages" 10) "XXXXXXXX_YYYYYYYYYYY_str__acpNotifications" 11) "XXXXXXXX_YYYYYYYYYYY_str__applications" 12) "XXXXXXXX_YYYYYYYYYYY_str__furl_configuration" 13) "XXXXXXXX_YYYYYYYYYYY_str__rssFeeds" 14) "XXXXXXXX_YYYYYYYYYYY_str__cms_databases" 15) "XXXXXXXX_YYYYYYYYYYY_str__groups" 16) "XXXXXXXX_YYYYYYYYYYY_str__storageConfigurations" 17) "XXXXXXXX_YYYYYYYYYYY_str__cms_fieldids_1" 127.0.0.1:6379> quit
Thanks,
Rhys.
Redis caching not improving performance - it's worse
in Classic self-hosted technical help
Posted · Edited by Rhys Hanrahan
Thanks everyone for your replies - I didn't think I was going to get any traction on this thread and then noticed a bunch of replies!
We've since gone live with IPB without any additional caching, as that was my best benchmark results. However, I'm in the middle of setting up a test copy of the site so I'll be aiming to try it again and post configs.
I'll try to address some things mentioned:
It seems like the experience by @sadams101 is probably similar to mine (though I need to verify). In that caching is configured and running, storing some keys, but it's not really actively hitting the cache for much of anything.
I am also hoping to dig through the caching debug logs a bit more next time, though from memory when I looked them last time they weren't particularly useful.
Thanks all.
Rhys.