Speed up your XenForo site

Speed up your XenForo site

Amin Sabet

Well-known member
Yesterday I was having problems with visitors from Australia getting messages like this one:

cf.PNG

I switched off from Cloudflare Pro back to having DNSMadeEasy handle DNS and KeyCDN handle attachments. So far, the feedback has been that the site performance is much better with these changes. See our forum thread beginning with this post: https://www.mu-43.com/threads/is-it-just-me-or-is-the-forum-really-slow-to-load-lately.89001/page-3#post-985298

It's disappointing because Cloudflare is the only way I know of to show full attachments to members via CDN while keeping attachment permissions intact so that guests see thumbnails (makes pages extra speedy for guests + Google). However, lazy loading images mostly makes up for that.
 

trapped_soul

Well-known member
Excellent guide. I have a few errors though an am using a CDN. Some static files aren't being added to the CDN.
Does anyone know how you can then include these into the CDN?
 

Amin Sabet

Well-known member
I currently don't use either one of those. But DragonByte Optimise seems to do everthing that bd Cache does and more, so if you use the former, the latter seems redundant.
 

Amin Sabet

Well-known member
A few updates on my quest for speed:

1) KeyCDN was costing me more than I could comfortably afford, so I switched to using Cloudflare instead. Without using either of those, my site was painfully slow. With Cloudflare, it wasn't quite as fast as KeyCDN, but it was a big cost savings. Still, I was getting some member complaints about site slowness, so I decided to try BunnyCDN.

I just made the change yesterday, and the speed boost was obvious. Members noticed immediately. I don't know how BunnyCDN can be so cheap. Their volume pricing, which uses smaller # of PoPs, is just $10 for 2TB! It seems too good to be true, but so far the results speak for themselves.

2) I just started using DragonByte Optimise on all my sites. It's worth it for the guest page caching alone, IMO.

3) Google now makes available their Chrome Experience Report data on a site-wide basis. This is basically Google's overall estimation of your site speed based on "real user measurement of key user experience metrics across the public web, aggregated from users who have opted-in to syncing their browsing history, have not set up a Sync passphrase, and have usage statistic reporting enabled."

This info is only available for relatively popular sites, where Google has enough data to give a report. Google uses site speed as a ranking signal for desktop search and is about to start using it for mobile search, so this seems like a good tool to understand your current site performance.

To check your site, go to this page: https://developers.google.com/speed/pagespeed/insights/

And then enter "site:yourdomain", eg "site:https://www.mu-43.com" and click "Analyze."

Here's how one of my sites looks (I expect these numbers to improve given the changes mentioned above):

chromeexperiencereport.png
 
Last edited:

rdn

Well-known member
Mine with Cloudflare Pro Plan.
No guest full page caching as I have complicated ad serving for Desktop vs Mobile.

1528982194170.png



1528982237630.png
 

Amin Sabet

Well-known member
Mine with Cloudflare Pro Plan.
It looks like you're showing page results there rather than site results, no?

No guest full page caching as I have complicated ad serving for Desktop vs Mobile.
I should look at mine more closely, because I have complicated ad serving for desktop vs mobile as well, not to mention Europe vs non-Europe.
 

MySiteGuy

Formerly ftsservice
Look into MaxCDN or BunnyCDN. Great speed, and much cheaper than Cloudflare. (Opps, just read you already switched to BunnyCDN!)
 

MySiteGuy

Formerly ftsservice
I currently don't use either one of those. But DragonByte Optimise seems to do everthing that bd Cache does and more, so if you use the former, the latter seems redundant.
I use both. Mainly use bdCache for the parts XF caches by default into memcache, but into Redis instead. I use DB Optimise with Redis as well, and didn't want to have both Memcached and Redis at the same time, plus I like the ability to restart Redis or reboot the server without losing cache content, unlike Memcached.
 

MySiteGuy

Formerly ftsservice
Zend Redis cache doesn't change what XF caches, it simply allows it to cache it into Redis instead of Memcached. XF caches sessions, settings, templates, etc., DB Optimize adds more caching on top of what XF natively caches.
 

eva2000

Well-known member
@Amin Sabet @rdn as a fellow page speed addict you might want to check out a new script I whipped up to use APIs for Google PageSpeed Insights, GTMetrix and Webpagetest.org to run via command line pagespeed tests and optionally send the results to custom Slack channels. I even setup a cronjob to run the test every week and send results to my Slack Channel :D

https://github.com/centminmod/google-insights-api-tools

Slack channel results

Google PageSpeed Insights

google-pagespeed-insight-api-gitool-slack-01b.png

WebpageTest.org

wpt-dulles-slack-01.png

GTMetrix

gtmetrix-api-slack-01.png

enjoy :D
 
Last edited:

MySiteGuy

Formerly ftsservice
@Amin Sabet @rdn as a fellow page speed addict you might want to check out a new script I whipped up to use APIs for Google PageSpeed Insights, GTMetrix and Webpagetest.org to run via command line pagespeed tests and optionally send the results to custom Slack channels. I even setup a cronjob to run the test every week and send results to my Slack Channel :D

https://github.com/centminmod/google-insights-api-tools

Slack channel results

Google PageSpeed Insights
Really cool, but I have to ask a question! Don't take this the wrong way because it's not a criticism, I'm just curious.

What is your purpose of doing this on a regular schedule? The reason I ask, is are your sites changing enough and often enough to warrant on going speed testing?
 

eva2000

Well-known member
Really cool, but I have to ask a question! Don't take this the wrong way because it's not a criticism, I'm just curious.

What is your purpose of doing this on a regular schedule? The reason I ask, is are your sites changing enough and often enough to warrant on going speed testing?
I am constantly optimising and trying new optimisation techniques and technologies (DNS,CDN,web/php caching/ngx_pagespeed etc) on my sites for performance and scalability and only way to monitor progress is to test it. Otherwise I'd be flying blind :)

My addiction and 4+ yrs of page speed testing work logged at https://community.centminmod.com/threads/community-centminmod-com-journey-for-speed.3/:D

Privately, I also do hourly WebpageTest.org tests which i log and chart too. I do this because this is what I do for a living = I do server and site optimisation consults and web host/server recommendation/evaluation work for clients since 2002 (16+. yrs).

This is just for WebPageTest.org California region test results. I test up to 12 geographic locations which are the top locations for my Google Analytics and Piwik analytics reports.

1530723546526.png

1530723578943.png

1530723645676.png

1530723742358.png
 

eva2000

Well-known member
Also for PageSpeed Insight origin stats you can use Google Analytics to filter data by Chrome browser for avg document loaded times (DCLs)

1530725539411.png
1530725556385.png

and then figure out which countries in your GA stats are negatively affecting your DCL numbers which from Google PageSpeed means <1366ms and <2120ms respectively for desktop and mobile for DCL to be considered as FAST rating in Google PageSpeed Insights origin tests

1530725711248.png

So for these GA stats, top 5 countries which negatively affecting a fast rating for DCL are India, China, Germany, Indonesia and Russia !
 
Top