Comparative speed of my forum

Ingenious

Well-known member
I'd like to ask you all whether my forum is considered fast or slow in the great scheme of things (from the page load times below).

I have just over 200,000 posts and host on shared hosting still (but it's a cloud/cluster type service). I don't use any caching and can't do any server tweaks because it's shared.

In particular I'd like to know what kind of speed increase, if any, hosting on VPS or dedicated might bring (from your real life results looking at page generation times).

Pages on my forum typically take 0.2s to 0.3s to generate.

The fastest page is the What's New with no new posts - 0.14s
Forum home page - usually 0.2s to 0.3s
Entering the forum thread view for the biggest forum (500+ pages) - 0.3s to 0.5s
 
INow, if I could get it to do the attachments in the same way?
Unless you can figure out how to handle image permissions this isn't possible.

I don't understand how having images and the JS files on another domain can speed things up - can't get my head around that - is there a guide anywhere that explains this in layman's terms, how/why it works?
Basically it doesn't send a cookie with every request, which means less data to download. Another reason is that it allows more connections, however with modern browsers this isn't as important anymore.

http://apazupa.com/2012/03/06/why-use-cookieless-domain/
 
Some info here: https://developers.google.com/speed/docs/best-practices/request#ServeFromCookielessDomain

Also (http://developer.yahoo.com/performance/rules.html)
Split Components Across Domains
tag: content
Splitting components allows you to maximize parallel downloads. Make sure you're using not more than 2-4 domains because of the DNS lookup penalty. For example, you can host your HTML and dynamic content on www.example.org and split static components between static1.example.org andstatic2.example.org
For more information check "Maximizing Parallel Downloads in the Carpool Lane" by Tenni Theurer and Patty Chi.
 
Thanks guys, very informative links, I'm convinved! Is there a numpties guide on how to do this for Xenforo? I'm OK registering a domain and pointing this to my existing webspace - what do I need to change in Xenforo and where, to make the images get served from the new domain?

Should I also change any images in my style settings (logos and background images) to also come direct from the new domain?
 
I'm OK registering a domain and pointing this to my existing webspace - what do I need to change in Xenforo and where, to make the images get served from the new domain?
I'm not exactly sure on this, as I've actually copied all my files to a different server for the cdn domain.

Should I also change any images in my style settings (logos and background images) to also come direct from the new domain?

Here is what I changed:

I use custom node icons, so uploaded them to the root of the domain:

Node Icon: Forum
Old = @imagePath/xenforo/widgets/forum-read.png
New = @imagePath/forum-read.png

Node Icon: Unread Forum
Old = @imagePath/xenforo/widgets/forum-unread.png
New = @imagePath/forum-unread.png​

Node Icon: Link
Old = @imagePath/xenforo/widgets/link.png
New = @imagePath/link.png

Copied the styles/default/xenforo folder to the root of the cdn domain
Default theme has had the default image path changed to cdn.z22se.com

cdn1.webp

Header logo URL has been changed to the CDN
cdn2.webp

copied the whole js folder to the root directory of the cdn domain, and added the below to config.php
PHP:
#JS on CDN 
$config['javaScriptUrl'] = 'http://cdn.z22se.com/js';

and then added the below .htaccess file into the root folder of the cdn domain
Code:
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
 
# Set up caching on media files for 5 weeks
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>
 
# Set up caching on media files for 5 weeks
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>
 
# Set up 1 day caching on commonly updated files
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A604800
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
 
# Force no caching for dynamic files
<FilesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
 
Top Bottom