I’ll preface this by saying I do understand that Discourse is a web application rather than merely a website.
But, I’d really like to get the load times down for our mobile users and I’m looking for ideas on how we can make that happen. Currently the site is “behind” (Free) Cloudflare so we’re using SSL+HTTP2 between the edge server and the customer.
TTFB is a bit long at 1.3s and I’m open to hearing some things to check on the server for that. I can look in Nginx logs too, but I’ll need help on where to look.
Total load time is 9seconds and it’s the objects that follow that really hold up the show.
Some examples on a 3G connection:
Landing page: WebPagetest Test Details - Dulles : forums.kartpulse.com - 09/08/17 19:38:37
Typical Topic w/o images: WebPagetest Test Details - Dulles : forums....back-for-2017/1135 - 09/08/17 19:44:08
I’ve considered offloading images to S3/cloudfront, but then again in these two examples that woudn’t have an impact.
Server is provided by Interserver. It’s a VPS with 4GB of ram. Not sure how many cores are available to me, so I’ll have to check that. [edit, running cat /proc/cpuinfo | awk ‘/^processor/{print $3}’ gave me a 0, so looks like a single core.]. Nonetheless, it seems rarely taxed.
Grateful for backend and frontend ideas to speed this up. Of course I’ll share anything I uncover here as well.
Here’s my plugin list:
discourse-details 0.4 N Settings
guest-gate 0.2.0 Y
discourse-narrative-bot 0.0.1 Y Settings
discourse-nginx-performance-report 0.1 Y
docker_manager 0.1 Y
lazyYT 1.0.1 Y
poll 0.9 Y