Boost your discussion forum performance

A simple blog, like this one, isn’t going to experience significant performance gains from a CDN. Sure, the images are replicated on a few geographically advantageous locations but it doesn’t have that many images to begin with. I’m also taking advantage of CDN-supported html optimization and compression, which makes me feel better but the few bytes it saves isn’t going to wildly impress either.

Circumstances change quickly for more complex sites. The layout of a typical online forum, especially for sites with a lot of content, can result in slow-loading sites. Even with good user adoption page-per-visit statistics don’t improve for the majority of users due to site performance.

These suggestions are applied on my sites:

  • CDN – Initially limit to images, javascript, and css to a CDN. Online Forums are highly-interactive sites and some CDN services may impact proper operation. Reverse-Proxy CDNs are easiest to start with, but many applications include configuration options that can take advantage of the manual (but effective) services.
  • Libraries – JQuery, YUI, and Fontawesome are examples of common resources that can served from either your server or from a CDN that alreay hosts those resources. If you are already using a reverse-proxy CDN, there may be benefit in hosting these resources yourself and letting them propogate on your CDN. If you aren’t using a CDN, or a service that isn’t as fast, utilizing externally-hosted libraries may improve performance. Try it both ways.
  • Advertising Code – Responsive site designs isn’t helping in this area, but pay special attention to how you are serving ad code. Large blocks of javascript-based innvocation code may not be noticeable to most web users, but they may slow down the user experience. Single-line innvocation code solutions are preferred, but check them to ensure that they aren’t linking to external script code that is slower. One way to verify is to add the code and then check it using Google’s Pagespeed checker.
  • Hosts – All aspects of the host are important, but disk I/O is critical for online forums. Shared Hosts that run customers on high-performance disk arrays. Dedicated Hosts that offer options using SASS, SATA3, or SSD drives. I run my largest forum on a server with eight-core CPU and 32G of RAM, but it’s most significant benefit is SSD drives.
  • Pagespeed – Google’s pagespeed technology has come a long way and is obtainable both as a service and as a downloadable mod that can be run on your server. Some CDN providers integrate modpagespeed in their own infrastructures as well. If your server doesn’t have fast drives, or limited CPU threads, modpagespeed may overwhelm your server if installed with default settings. If you aren’t sure, consider trying the pagespeed service first.
  • OptCode Cache – Sometimes called PHP Accelerators. I’m still partial to xCache but there are other options. Many hosts provide their preferred option with their service, or will provide suggestions if your running your own server. Taking advantage of this option will reduce the processing overhead on your server. Most forum packages have particular settings that require enablement in order to fully utilize this benefit.
  • Switch from GD to ImageMagick – Most online forums allow it’s users to upload pictures as either attachments or to build picture galleries. ImageMagick can be utilized by most forum software packages and allows for better utilization of your server’s resources. As digital images continue to represent large pictures uploaded over faster connections, ImageMagick has become more of a necessity than a luxury. Later I’ll share my process for installing ImageMagick from source and compiling with PECL.
  • Limit Transitions – Javascript and/or Ajax features that create interactive user experiences are nice, but limit them to pull-down menus and other navigation necessities. CSS is better, but still it is best to limit transitions altogether in order to generate pages quicker. Computing devices have improved, but many mobile devices still stuggle with sites in this area. This blog currently uses a jQuery transition that is very nice, but shows the age of older computers.
  • Limit External Attachments – Inserted images on forum posts that are hosted elsewhere. It saves your disk storage requirements, but can slow your site down. An uploaded image would take up your server storage, but could be served from your CDN and optimized from your server settings. If your forum is new, disabling the means to externally-link images may be a worthwhile consideration if your file upload features are robust.
  • Minify HTML – Most web server configurations support GZIP compression, but the debate on limiting excessive code comments or spacing represents diverse opinions on their benefits versus the additional time and/or server utilization this topic may create. Personally, I think comments shouldn’t show to the user if they aren’t needed; and all unecessary spacing should be removed. One way to accomplish this is to go through your templates and remove these yourself. I’ve had success with Google’s ModPagespeed module. Alternatives have started to show, if you don’t like Google’s option.
  • Javascript Optimization – Minifying Javascript isn’t as challenging as it once was. The precarious thing happens when we are able to see our sites work without javascript, and realize how much overhead we are creating. Many external libraries are usually in minified form now, and common applications are starting to combine their necessary scripts. Pay special attention to add-ons or modifications that you choose to add your application, this is where most of the slow-down occurs in forums.
  • Security – Hosting your site on an shared service isn’t going to afford you the same level of control that you would have managing your own server. However, many sites running on dedicated servers (or cloud instances) are hacked as well for the same lack of attention given to security. A proper strategy will lead to lower server utilization and allow resources to provide a better user experience.
  • Linux – There are many flavors out there. At the time of this writing CentOS and Ubuntu Server appear to be the common distributions; but ultimately it comes down to what you prefer to learn. Your users will appreciate it.
  • Server RAM – Some forum applications are a bit intensive on this when they become large or have several add-ons. I tend to use a large amount, but improving forum performance can be as simple as ensuring that your site isn’t doing disk activity that could be minimized by adding more RAM. OptCode Caching will also affect this.

Addressing the issues above can usually be accomplished cost-effectively.

References:

Choosing Forum Software

I’ve operated discussion forums as a hobby for many years.

My first was a discussion group for a turn-based enviroment where players owned spaceships, planets, and fleets; called Tradewars. I didn’t own or operate the necessary software, just moderated a loosely-knit group of worldwide participants. Back then dial-up bulletin board systems syncronized posts nightly, so a post could take up to two days before it was viewed by everyone.

At the same time, users were communicating in similar ways on the original internet, but it was almost real-time. There were no web browsers, but it wasn’t that difficult for those that took time to learn how.

While there are several services available to create, develop, and grow a community today; the more-common method has been to obtain preferred software and self-manage the installation and maintenance.

If you’ve done any research, you’ll find that there is a significant amount of historical baggage to sift through. This is an objective viewpoint.

I’ve previously operated on three platforms; vBulletin, Invision Power Board, and Xenforo. Currently running forum sites on Xenforo, Invision Power Board, and Vanilla. Older Communities have run on phpBB, XMB, and forked-phpBB. Below are my opinions:

vBulletin

http://www.vbulletin.com
The most prolific forum software package has been going through many challenges; too many for this post. The owning company, Internet Brands (IB), still runs it’s own sites on the version 3 series (commonly described as vb3.x); as well as many other sites. vb4 was originally shown as a visual concept, but the organization had undergone significant change by the time vb4 was actually released. IB has also released vb5 along with several version updates.

vBulletin’s strenghs:

  • vb4 has it’s issues, but is built upon a solid platform.
  • addon and theme options have diminished, but there are still several good options available.
  • Users tend to better understand how to use vBulletin 3/4.
  • As long as you avoid being critical, you will likely receive reasonable support.

vBulletin’s challenges:

  • Software bugs – vb4 still has many issues, but it is considered far more stable than vb5.
  • Diminishing Community – There aren’t as many knowledgeable participating resources today.
  • Increased cost of ownership – A vb license isn’t expensive, but meeting your needs may be more difficult.
  • Site Performance – either vb4 or vb5 will require some degree of optimization to perform well for your users.

Invision Power Board

http://www.invisionpower.com
Invision Power Board (IPB) represents a solid community platform that supports complex feature sets. It started several years ago amid some drama of it’s own, but that has since subsided. There are still some sites running on legacy IPB versions, but most today operate with modern v3.x variants. IPB provides updates regularly and informs on forthcoming features and development activity. The software is offerred as a hosted/cloud service, or a downloadable license.

IPB’s strengths:

  • Many feel that IPB represents the most solid and stable platform available.
  • Search Engine Optimization – IPSEO is now an integrated feature.
  • IPB is feature-rich in it’s standard form before modification or addons.
  • IPB has a helpful community, but a strong helpdesk team. Pre-Sales support also includes Professional Services options.
  • The Community Suite approach provides commonly desired applications (blog, photo gallery, online store, & etc) that is fully integrated.

IPB’s Challenges:

  • Site Performance – The forward-thinking approach has it’s tradeoff in the form of slower site performance. This can be overcome with creative optimization strategies to bring site speed to a reasonable level. At the time of this writing, version 4 has not yet been released. This aspect may change.
  • Design Layout – You either love it or hate it. There are several excellent themes available.
  • Competitive Features – Some communities will benefit from IPB’s automated spam control, but still wonder why other features are missing or not implemented.
  • Mobile Support – basic package supports a mobile-skin that automatically displays on most mobile devices. Changing to a responsive strategy can be done with an inexpensive addon.

Xenforo

http://www.xenforo.com
For those of us who were comfortable with the original Jelsoft-owned vBulletin, Xenforo has been the option. Started by former Jelsoft employees, which now includes additional enthusiasts on it’s staff. The software is available as only a downloadable license, and additional packages are currently limited to an online store (Resource Manager) and advanced search option (Sphinx).

Xenforo’s strengths:

  • Speed – out of the box and with little modification yields respectable site speed.
  • Ease of setup and use – XF doesn’t have the features that IPB does, but setup can be so quick that one may wonder if everything was done.
  • Search Engine Optimization – SEO features are strong, even though there is little to setup for it.
  • Easy to Improve – Regardless if it’s performance or visuals, the developers of XF homed in on what the challenges were and delivered.
  • Responsive Design – Able to maintain your existing look/feel without unique mobile skins or external apps.

Xenforo’s challenges:

  • Design Layout – Like IPB, it’s another Love it or Hate it circumstance. Some have commented that it’s modern approach is too much for established communities.
  • Responsive Layout – The responsive layout implementation on Xenforo is Excellent but having a truly responsive site presents several challenges. Established communities that migrate to XF should disable responsive features initially and enable them later.
  • Addon equivalents – XF enjoys the fastest-growing community of addon developers, but there a migrating community may have to give up on a feature or adopt an alternative.
  • Maturity – XF is supported by experienced developers, but the company hasn’t been in business very long.

Some additional software packages that I’ve tested, or just started with:

Vanilla

http://vanillaforums.org
I’m currently running a dormant forum with the open-source version of Vanilla and am finding it very enjoyable to work with. Vanilla’s primary goal is to grow their cloud service business, but they have a decent group of open-source enthusiasts. Vanilla’s attraction is it’s simplicity and rich feature set. Choose this option if you wish to run a community that doesn’t need a lot of flash, or you wish to integrate into a CMS.

Simple Machines

http://www.simplemachines.org/
For a while, it seemed that SMF wasn’t going to survive. I did several successful tests, but with slow development and little advanced support I moved on. SMF still impresses me today, but the current verion is still too simplistic. Go with this option if you don’t care about integrations into anything and feel that a traditional forum-layout style is all that will be needed.

phpBB

http://www.phpbb.com/
I haven’t run a phpBB forum in a while, but did test v3 a few years ago. I wasn’t turned off, but didn’t feel that there were enough features. Themes and addons are plentiful, but had concerns that the community wasn’t going in the proper direction. Circumstances appear to have improved, but would prefer to see a new major release.

myBB

http://www.mybb.com
I did some testing with myBB and found it to be enjoyable to work with. If one wanted a community that looked like vb3 but wasn’t, this would be an option. My test site was speedy and didn’t take long to modify. myBB is easy for anyone to download and setup, but one may need to be more self-sufficient than the average forum operator. myBB released it’s 1.6x platform when I started testing and is still at that base as of this writing.

There are other forum software/service options. I hope you find my experiences worthwhile.

Node and Ghost, How I did it

Since I never touched Node.js before, and wasn’t comfortable with any kind of installation that coexisted with my preferred mix of PHP, MySQL, PostgreSQL, Nginx, XCache, ModPageSpeed, and Apache; a separate cloud instance seemed the best way to go.

I found about about Ghost while doing some research on design/layouts. At the time Ghost wasn’t released to the wild but it was interesting; a short time later we were all able to get a copy.

It took four attempts, but found a Bitnami Ghost config that I liked:

https://bitnami.com/stack/ghost

Going this route makes setup extremely easy. At the time of this writing this is my third Ghost server, the previous were short-lived learning experiences. My next update will likely be a new instance, but with less disk space – just enough for Ubuntu Linux to function.

I’m usually a rpm-linux guy when it comes to servers, and tend to go debian-linux on personal devices. However, running 64-bit Ubuntu has been an interesting experience. My firewall setup steps were different at first but they eventually started to become familiar.

There is still a CDN/Proxy involved, mainly to cache the few images I’m using and do some basic HTML/CSS optimization. I wouldn’t consider it necessary, only if you’re accustomed to doing it for your sites already.

I’m looking forward to the possiblities with Node.js and Ghost!

Black Friday – Embracing The Horror

What started as a favor to my wife turned into an event I look forward to. We generally are good about doing Thanksgiving Dinner a bit early and getting a few hours sleep beforehand hasn’t been a problem.

The Proper Way to Approach Black Friday

For many reasons, the average customer doesn’t represent the same revenue amount that it did a few years ago. The tradition of Black Friday is also being diminished by retailers that are opening on Thanksgiving and pushing similar promotions all the way up to Christmas.

An XBox One is going to come to our home. My son and I are gamers, and enjoy some degree of internet-supported content. However, I’m not expecting that such a device is going to available at a lower price on Black Friday but it might me.

Most of my Black Friday purchases have been small or medium-ticket items. We tend to carefully consider electronics purchases but on occasion I have brought home (I meant Santa brought) great deals on Kindle Tablets, Laptops, Android Tablets, and iPods.

Black Friday has also been an opportunity to bring home items that were merely for oursleves or the household. We still use a ladder and a few tools that were great deals at 4am, and one of our BluRay movies is just now being sold at what I got it for two years ago just before Breakfast.

My Advice

  • Do not wait in a line, life is too short.
  • Limit the number of clothes purchases.
  • Big Ticket Doorbusters are usually a tradeoff.
  • Some stores will be open only to capture revenue from the traffic.
  • Premium items may not be doorbusters, but it isn’t unusual to see promotional gift cards associated with their purchase.
  • If you’re alone, buy something for yourself.
  • Take care of yourself during the night, eat small snacks and have some coffee. It wouldn’t hurt to have a good breakfast after it was over.
  • When the initial rush is over and parking lots are no longer busting, check back at some of your favorite stores again. I tend to visit a couple stores twice before dawn. Some stores may set out promotional doorbusters after they have “run out”.
  • Don’t buy music CDs or BluRay Movies unless you are certain it will hold a special value (such as a extended or limited edition). Gift Cards to their preferred media outlets are better.
  • Avoid 720p HD TVs, or incredibly inexpensive DVD Players, they are useless in today’s world.

My time usually starts at 11:30-11:40pm. A quick shower and some good boots. Dress warmly, but you’re not going to spend much time outside so you can be comfortable.

The Stores

  • Best Buy I don’t fight for the doorbusters at midnight, but have picked them up at 4am. On other occassions it has been deals on various devices with promos associated.
  • GameStop We are Pro Members, but don’t always buy on Black Friday. On the successful years I’ve brought home new games at great prices, but limit purchases in order to manage games via your preferred process.
  • Vintage Stock A local chain that carries great deals on new and used games, consoles, music, movies, and toys. They usually don’t open at midnight, but early enough when it is necessary to complete a shopping list. If they don’t appear to have anything, don’t worry – they usually will by Christmas.
  • Sears Some still find value in their tools and enjoy them as gifts.
  • Home Depot They usually open around 4-5am, but offer doughnuts and coffee. This store is fun, especially if you’ve already had some successess, but take care in what you buy.
  • Eddie Bauer Some years they are a great stop, but can be a bust. Don’t spin your wheels in any clothes store.
  • Hallmark Christmas Cards are a way to take care of a necessary step and buy yourself some downtime while others are waiting in line.
  • Starbucks Bring your device and check your research around 3am.
  • Toys R Us Never during the notorious times, but some of their unique items can quickly fill your list if children are involved.
  • Barnes and Noble Consider taking a look for your Cyber Monday activities. Their sale items are not necessarily Black Friday items, but on some years they have surprised.
  • Office Depot They bring customers in with good deals.
  • Target A few years ago they used to pack a store at midnight. Stick with the specials only in the center isles, or other marked areas, and get out. Doorbuster quality isn’t that good.
  • Cabellas Check the ads first, but this can be a good mid-term store during the night. Stick to the specials, as they tend to promote early.

With realistic expectations returning home with slightly more than you bargained for usually means sleeping the morning in peace.

If you came home frustrated, chill out with some comfort food for breakfast and take it easy – because the growing number of Cyber Monday sales continues to grow. So much so that some retailers attempt to keep shoppers away from their computers/devices on Mondays with unique deals as well.

My Previous Motorcycles

The mid-90’s were a wonderful time, not just for technology reasons, but it was when my fascination with Motorcycles was picking up. Back then my top pick was a Moto Guzzi California.

A friend advised to set aside the desire for a while and consider a sportscar instead; which ended up being a very cool Camaro that I put 120k miles on before trading it in for a Mustang GT.

However, the itch to own a bike eventually took over (while I still had the Camaro)

I toyed with a couple newer Triumph Daytona 955i bikes (silver and yellow), as well as a Ducati 750SS, but fell in love with the original Daytona900 and rode them both for a short while

The Triumph fascination didn’t stop there either. Being a web development hobbyist I built a portal/community for Triumph Enthusiasts as well; TriumphRat.Net – which is one of the world’s busiest websites.

By the time the mid-2000’s rolled around, we had completed a extremely challenging adoption process and I was looking forward to parenthood – and subsequently sold both of my bikes and the website.

For the next few years, I toyed around on the most dependable motorcycle ever owned – a Honda VFR800 Interceptor

That bike was bulletproof!

Today, I still own some motorcycle websites but gave up the motorcycle. Still riding two-wheels though, but today it is a Road Bicycle.

This winter, who knows – maybe a trip to either Oklahoma City or El Dorado Springs is in my future.