The 3,000$ server

Posted by Ryan Gordon on October 11, 2007 under Forums, MyBB, NCAAbbs | 3 Comments to Read

After a month and a half long donation drive and 2 weeks of waiting, ordering, and waiting, it is finally here. The new NCAAbbs Server (Actually two if you want to get technical) will fix our load issues with massive crowds and bring stability to the server for several years.

(Each image links to a ultra hi-res image)

newserver001-lo.jpg

newserver002-lo.jpg

newserver003-lo.jpg

newserver004-lo.jpg

newserver005-lo.jpg

newserver006-lo.jpg

newserver007-lo.jpg

newserver008-lo.jpg

newserver009-lo.jpg

newserver010-lo.jpg

newserver011-lo.jpg

newserver012-lo.jpg

newserver013-lo.jpg

newserver014-lo.jpg

newserver015-lo.jpg

newserver016-lo.jpg

newserver017-lo.jpg

newserver018-lo.jpg

newserver019-lo.jpg

And here’s a breakdown of the costs for the new server:

Annual Hosting (current server) ———–588.00
(4) Hard Drives Raptor 10K RPM 150Gb—–739.96
(4) 1Gb Memory Sticks——————–279.96
(2) Xeon Quad Core Intel Procs————703.98
(1) SuperMicro Rack Server Cluster——–1489.99

We’ll be upgrading to a 4U Rack at our datacenter (They’re all out of 2U’s) and setup one of the servers to “master” and the other two to “slaves” with replication technologies. I’ll also be back porting some MyBB 1.4 code for this special occasion (The master/slave technologies)

If everything goes well this should be up within the next few weeks; If you want to stay updated check out the NCAAbbs forum here: http://www.ncaabbs.com – Updates will be in the “Lounge -> Sports Bar Main” forum.

Feel free to ask questions below and I’ll be happy to answer.

Optimizations for large boards

Posted by Ryan Gordon on July 20, 2007 under Forums, MyBB | 4 Comments to Read

Warning: The following tutorial is for MyBB forums only. Instructions for other forum software may vary.

I’ve recently been noticing large forums coming to MyBB. One for example is http://www.talkvideogames.com/ with nearly half a million posts, taking up position #2 in place of MsgPlus. So I decided it’s time for a tutorial on how to ensure your server is running fast with MyBB:

1) Change the mybb_sessions table to a HEAP (or MEMORY) type. This will ensure that the table is stored in memory. It won’t cause problems because it’ll be truncated often (sessions 24 hours or older are trimmed at random)

2) Make sure your kernel, mysql, php, and all extensions are up-to-date.

3) Install Zend, eAccelerator, and or memcache extensions for php. MyBB 1.4 will take advantage of eAccelerator / memcache. Installing APC (Advanced PHP Cache) is usually worth it too.

4) Turn on the MySQL Query Cache if it isn’t on already.

5) Remove PHP extensions that you don’t use – you can always turn them on later if need be.

6)  Optimize your tables weekly using a cron job of some sort

Just a note; MyBB 1.4 will continue to provide continual speed improvements for you and your forum. Things like the new task system will allow you to manage your forum better and more easily.

Slave drivers

Posted by Ryan Gordon on July 13, 2007 under MyBB, Programming | 5 Comments to Read

I’ve just finished coding (Well, Chris wrote the base of the code) a new feature in. MyBB 1.4 will now feature MySQL & PostgreSQL slave drivers. (Yes We’ve added PostrgreSQL and SQLite 2 & 3 support for MyBB 1.4). This will come for a great boost in speed on large forums that run on multiple servers (think if MyBB ever ran Gaia Online).

Using a MySQL/PgSQL slave driver allows us to separate SELECT queries from queries that modify the database (INSERT/UPDATE/DELETE etc). Allowing that will let each server be tuned to select or modifying to get the maximum performance out of each server and over all have a speed increase on the servers.

Not to mention we’ll be the first free forum software (afaik) to do it. In addition to this, we’ve made many other optimizations to MyBB 1.4 and we are continuing to do so. We just hope this continues to show how dedicated we are towards making you a product that is fast, free, and efficient!

Bitwise Operators – Revisited

Posted by Ryan Gordon on June 2, 2007 under MyBB, Programming | 3 Comments to Read

A long while ago Chris had made a blog post on “Bitwise Operators“. Now, just to make it crystal clear, Bitwise Operators are not in MyBB 1.4. MyBB 1.2 was more focused on the code. MyBB 1.4 is focused more on features. Sorry folks, but there isn’t just enough time in the world!

However, I’d like to bring them up again and revisit the idea of what they are and how they work.

To re-iterate what Chris stated on his blog post, Bitwise operators are operators that work on a bit-level. You can assign “levels” to a number. This number indicates the level and later on, will be able to provide us with what users have what permissions. In turn you have an array of users each assigned a specific value.

We’ll use Chris’s crisp and clean example to show how bitwise operators work:

<?php
$notices['can_view'] = 1;
$notices['can_post_threads'] = 2;
$notices['can_post_replies'] = 4;
$notices['can_edit'] = 8;

$testers[1] = 1;
$testers[2] = 5;
$testers[3] = 9;
$testers[4] = 14;

foreach($testers as $key => $tester)
{
echo “$key”;
foreach($notices as $key => $notice)
{
if($tester & $notice)
{
echo ” – $key”;
}
}
echo “<br />”;
}
?>
Now this code will print out the following:
1 - can_view
2 - can_view - can_post_replies
3 - can_view - can_edit
4 - can_post_threads - can_post_replies - can_edit

Now you may be asking how  we got that? In case you missed it, tester 4 has a value of 14. Now look at what the tester got: “can_post_threads - can_post_replies - can_edit". can_posts_threads has a value of 2, can_post_replies has a value of 4, and can_edit has a value of 8. Now what does that all add up to? 14! And so on and so forth; See? Simple!

This system can make our most difficult permissions night-mares as easy as the above example. If our course doesn’t change, I believe you will be seeing a lot more of Mr. Bitwise in 2.0 than ever before.

MyBB… I like the way you “copyright”

Posted by Ryan Gordon on May 3, 2007 under MyBB | 3 Comments to Read

After reading the blog posts on Dennis’s “Removing the copyright is a bad idea”, specifically WJ’s blog post, I decided to bring up his point in the staff forum. Resulting will be a new copyright for MyBB 1.4.

The current copyright

Powered By MyBB
Copyright © 2002-2007 MyBB Group

Will now become

Powered By MyBB, © 2002-2007 MyBB Group.

Both Chris and I feel this new copyright should ease up the constroversy and please more people by making it look less like it’s ours and more like it’s yours.

MyBB… I like the way you “Plug In”

Posted by Ryan Gordon on March 21, 2007 under MyBB | 6 Comments to Read

Next up on MyBB, and the first new 1.4 feature to be revealed on my blog, is…
Drum roll please

Plugin Version Checking!

Yep, the new ACP now has a way of checking updating for plugins. It will connect to the MyBB Mods server and returns a list of plugins that need updating.

How is works?

  1. GUIDs (globally unique identifiers) are assigned to a plugin after it is submitted. Authors have the option to update their plugin with the option of adding the GUID to their plugin.
  2. A list of plugins with GUIDs in the plugin directory and sent to the MyBB Mods Server
  3. MyBB Mods validates that list and sends back a list of plugins which includes the latest version number and download URL for each of the installed plugins
  4. The MyBB admin CP checks to see the list and compares the versions of plugins you have with the latest versions returned by the server

MyBB… I like the way you import?

Posted by Ryan Gordon on November 13, 2006 under MyBB | 9 Comments to Read

The whole point of the MyBB Import system is that you can merge databases. You can also select what to import, and what not to import. Now it’s not finished, but I’ll explain what the system does and how easy it really is!

MyBB Conversion Wizard - Welcome

The first step – The welcome page! Not all of the converters have been finished, but this shows what will be done by the time 1.4 is released. Currently we’ve finished: MyBB (Merge), SMF, phpBB 2, and PunBB.

MyBB Conversion Wizard - Module Selection

The second step shows you the module list. You’ll need to fill in your database configuration details as shown in the picture below.

MyBB Conversion Wizard - phpBB 2 Database Configuration

This page is where you’ll fill in the database details of the database you want to import.

MyBB Conversion Wizard - Module Selection 2

Once you are done with that, you’ll get back to the module page. Here you’ll see that you can select a module to start out from. These modules need to be done first because data is required from these modules for other modules.

MyBB Conversion Wizard - Import phpBB 2 Usergroups
Here you’ll input how many of the module you selected you want to import. Once you’re done with this, click next to continue.

MyBB Conversion Wizard - Import phpBB 2 Usergroups 2
At this screen, it shows you whats been run in the module. Click next to continue; If there are more it will continue on with the module, otherwise you’ll be sent back to the module list as depicted in the picture below.

MyBB Conversion Wizard - Module Selection 3

Here you’ll be able to select the next module, or, if your finished, you can press ‘Clean Up’ and it will show the next page.

MyBB Conversion Wizard - Completion
The is the last page of the importer before you can visit your new imported board :)

You can also pause modules so you don’t have to run them all. Say you only wanted to import 10 threads. And of course, you can resume the module if you wish to continue importing them, but we’ll get into that more later

MyBB 1.2

Posted by Ryan Gordon on July 5, 2006 under MyBB | 2 Comments to Read

Starting today, I will post a new and different picture of MyBB 1.2 everyday :) MyBB 1.2 Quick Quote Screenshot

(click to englare)

This is an image of the new “Multi Quote” feature in MyBB! As you can see, if you select a post to “Quote” from another thread different to which you are replying to, it will give you the option of including those quotes from the other thread into the new post :)