Big Board Conversion Exprience

Mert

Well-known member
Hello ,

Can some big board owners explain the experience they face when they made the switch to Xenforo from vBulletin.
The items i am interested mainly at , Server Load related experience , User experience , Traffic levels before and prior to installation.

Also did anyone use Xenforo behind a load balancer ?
 
While not live, I've run some load tests with a relatively stock XF installation and simulated high traffic... The results are pretty good...'

The Good
Seems to be 4-5x less server resources needed vs. vBulletin as well as a substantial number of fewer queries. For query count (as well as the EXACT query being run), check out http://xenfans.com/help/ for whatever reason they have debug enabled. 2 queries for a minimal page is really good in my opinion (but if you browse around, you can see the query count as well as exact queries used). Sessions are stored in your cache (for example memcache), templates are stored as PHP files (bonus because it's a lot of PHP code that doesn't need to be run through eval(), and instead can be pre-compiled by your opcode cacher).

If you do a lot of custom stuff, most everything I wish vBulletin did internally, XenForo seems to do or at least have the ability to do (even if it's not currently done). For example, I just got done coding something that I want to cache, but not in the registry/datastore... something not important, so losing it if the server reboots is no biggie. Since XF uses the Zend framework for all that stuff, it's as simple as this:
PHP:
if ($cacheObject = XenForo_Application::get('cache'))
{
	$myThing = $cacheObject->load($cache_key, true);
}

and saving is the same deal...
PHP:
$cacheObject->save($myThing, $cache_key, array(), 900); // 15 minute cache
Now obviously you could go straight to memcache, but it's nice to be able to route through the native framework... that way if you change your cache backend, you don't need to change code everywhere.

There are no issues running it on multiple web servers through load balancers (other than some things like avatars being stored in the file system... see below).

The "I wish it was supported"...
There is currently no master/slave ability with XenForo... one DB server, and that's it. You *can* specify a database adapter namespace in your config, which more or less would allow you to make your own DB class that extends the existing one to do it. I started working on one... got about half done with it, and then decided my time would be better spent building things that I know will never come to the XF core. Then when all THAT is done, I can go back to it. http://xenforo.com/community/threads/suggestion-mysql-read-slave-write-master.14492/

The addon/hook architecture is fantastic... unfortunately it's not as efficient as it can be, and overall speed of pages start to noticeably degrade the more custom stuff you have (even on pages that don't have any of the custom stuff on them). Thankfully, it's not a terribly difficult fix... Hopefully something along these lines gets incorporated into XF: http://xenforo.com/community/thread...-type-into-single-php-file.22301/#post-281417

Storage of avatars in the file system... Currently they are always stored in the file system, so it makes multi-web server setups slightly more annoying. But with the hook architecture, you can more or less override the avatar model class and simply do it DB based (or however you want)... just that you have to write the code.

The bad
Sometimes I want to stab the editor... WYSIWYG mode loses all tabs, so when you post code and such, it's really, really annoying.
 
I agree with dp's post, and the WYSIWYG editor does annoy me if I'm doing anything other than standard typing (I like the fact that I can ctrl + B/I/U instead of typing). If I'm posting code, I just switch to the text editor.
 
Oh, I forgot to mention... there are a few things that we've taken for granted over the years that XF does not do out of the box that might apply to big boards...

  • Ability to set a default sort order for a forum... not a huge thing, but we needed it. I made an addon that allows it, so not really a big deal for me any more... but in case you need it for some reason.
  • The post parser in XF is extremely fast, but it would benefit from a cache of pre-parsed posts like vB has. I wrote one for XF as an addon... so also not a big deal for me any more.
  • Post edit history (there is none)
  • There is no user notes for mods/admins to keep notes about users. Looks like this will solve that though: http://xenforo.com/community/threads/ragtek-user-notes.22676/
  • There is no user change log for major changes to a user account (things like email, username and user groups). This is huge for us because so often we need to deal with restoring phished accounts. Being able to know what their email was before the phisher changed it is pretty key to that process. Knowing the IP of the user that changed it as well is huge so we can try and track down who they are. It's also probably not a terribly difficult thing to build as an addon, so not too worried about it at the end of the day... Just extend the user datawriter, if changes are being written to a couple key fields, log it to a changelog table.
 
Once our server update will be completed this week , i'll prepare a test installation for Xenforo and will move our Big Board that have close to 12 million posts to Xenforo.

By the way does anyone have any idea if Searchlight is compatible with Xenforo ?
 
Top Bottom