XF 1.2 UGH! Converted Forum - Now I find out about INNODB

ProCom

Well-known member
Well, isn't this just peachy!

I spend months evaluating xF, testing my conversion, and today I finally pull the trigger on my biggest site conversion. I'm 6 hours into the conversion (to give you an idea it took 2 hours to import posts / topics) and then while my search cache rebuild is underway I decide to browse the forum here.

Well, I stumble on this MySQL: MyISAM or INNODB thread and check my tables...

EVERY SINGLE ONE OF THEM IS MyISAM!!!


So, what do I do? I mean, my forum seems to be running fine, but it also hasn't been hammered by a bunch of concurrent users yet.

The last time I tried to convert a platform from MyISAM to INNODB (another project different platform) it went terribly terribly wrong and I had to do a full server restore and roll back to MyISAM. The thought of going through that again is terrifying at best.

So my questions for the masters:
  1. Why the heck on a brand new install weren't the correct table structures setup?
  2. Do I "have to" convert the tables to INNODB?
  3. What happens if I don't convert to INNODB?
I vaguely remember that some of the problems I ran into before was related to the fact that I'm still on a 32 bit CentOS and innodb didn't play well with my settings, memory, or whatever :(

Some of my tables aren't super huge, but also not tiny:
upload_2013-11-7_23-17-46.webp

I'm kinda freaking out about this, so thanks in advance for your help and suggestions!
 
Then I recommend hiring someone who is used to administrate MySQL.

InnoDB has the potential to bring your server and/or forum down if configured with problematic settings. Also it has the potential to disable the restart of MySQL if only a single error occurs in one of it's files.

With MyISAM you simply can repair the problematic single table with myisamchk.
With InnoDB your server is dead and will be dead until the issue has been resolved with complicated tools.
 
Blah... who designed a DB storage system that was so finicky? It's like I'm replacing my non-emotional 60 year old father with my sensitive tween 13 year old daughter!

Is INNODB really going to give me a huge and super obvious performance boost over MyISAM? I'd hate to convert everything only to find out things aren't any better... or that they are worse!
 
InnoDB gives you some advantages because of table locking (or rather the not doing so). This means, if you have a larger forum you may see a speedier posting process.

If you are used to MyISAM and had no problems with table locking until now, it may be wiser to stay with MyISAM for now.

But Brogan is right: Mike and Kier have posted about that and you may at least read their posts and the MySQL documentation for InnoDB.
 
Good stuff guys! Here are some things I've found:

We use MyISAM, InnoDB and Memory table types, depending upon the requirements of each table.

Each table type has its own benefits. For example, MyISAM is held back by table-level locking on writes whereas InnoDB only has to lock the particular row that is being written. However, if you can avoid locking, MyISAM is hugely faster for data writes than InnoDB. So it's not as simple as saying that one particular table type is better than another.

and here: http://xenforo.com/community/threads/innodb-or-myisam-what-is-better-for-xenforo.13575/#post-178294
and here: http://xenforo.com/community/threads/mysql-myisam-or-innodb.388/page-2#post-134666

So, if I'm understanding correctly, server loads wouldn't have anything to do with being on MyISAM, right? It seems InnoDB would be better if I'm seeing a ton of locks from a lot of users on at the same time? If that's the case, I'm inclined to want to stick with MyISAM unless I start to see lock problems (no idea how those manifest themselves as symptoms) or find out that InnoDB would really reduce my loads.
 
If you have only literally converted and I assume you will still have your old data, could you just not activate InnoDB and then carry out a fresh install and import again?

Or if you don't want to do that, just mess around on a test account. I have second cPanel account on my VPS just for a testsite where I can do anything I want. Just mirror your live site and mess around there until you are happy.
 
Yup, I'm unfortunately in too deep at this point to revert back to the old system and try to figure out all the innoDB stuff.

Testing the conversion from myisam to innodb on a test environment sounds pretty good. I think I'll look into that, thanks!
 
No probs - I always do this as standard. Every addon or code modification is tested first before ever touching live - the amount of issues I have avoided makes it very worthwhile. Plus I keep a log in Excel of what steps or process I have followed, so when it comes do doing it in live the downtime is kept to a minimum.
 
Top Bottom