I've alluded to it, but never really said it very forcefully in any of the forums, but I've thought it VERY loudly. Until today, I have found myself frustrated by how "slow"/"sluggish" Hubzilla feels compared to, say Facebook.
I'm Sorry
I'm sorry, because it wasn't Hubzilla. It wasn't the database queries. It wasn't even that the default number of items requested with each update.
It was, me. It was my fault. Quite simply, I was running an incomplete and sub-optimal PHP configuration on my server.
I had honestly thought I had installed and configured php-opcache. But I had not.
Now that I have done so, Initial page load is around 2 seconds (on a fixed wireless Internet connection -- I have NO access to high-speed wired connections like DSL/Fiber or Cable where I am), and item loading time is around 3-4 seconds. This is almost exactly the same as the performance of Facebook in my environment.
I will still be monitoring for the traffic spikes of incoming deliveries that I had noted before that had my server crying "uncle" - but I suspect that will be very much improved and nearly non-existent as well.
So to @
Mike Macgirvin and everyone else whom I subconsciously or subvocally "yelled at" for turning out sluggish code, "I'm sorry."
To anyone else who is experiencing slowness and has control over whether or not opcache is running - consider turning it on. It's a whole new world.
NOTE: If you choose to use OPCACHE - make sure you do your research and read up on what the options do and you understand clearly your configuration. Because the opcache stores compiled code and reuses it on subsequent invocations of that code, updating your Hubzilla code either requires a few extra steps or at least a careful awareness of how OPCACHE works. If you experience ANY weirdness after updating Hubzilla - make sure to do what is needed for your configuration to CLEAR the cache. Usually that is just to restart the web server or php-fpm. But that may not be the case depending on exactly how you configure it. If you don't do the research to understand how it works, don't implement it. Since this is VERY configuration specific, it is very unlikely that others will be able to offer much help. When in doubt - when debugging a problem - turn off the cache and make sure the problem still occurs with the cache OFF before submitting any sort of bug report.