1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

vBulletin Database Engine: MYISAM or InnoDB?

Discussion in 'vBulletin' started by sdi_employee, Jul 8, 2013.

?

Is converting your tables from MYISAM to InnoDB worth it?

Poll closed Jul 15, 2013.
  1. Yes

    100.0%
  2. No

    0 vote(s)
    0.0%
  1. #1
    Essentially, is it worth investing the time to convert to InnoDB now that I'm finally up to vBulletin 4? I'm using Sphinx search, but I understand it wouldn't be an issue converting the tables now that I'm at vB4 either way.

    Background: I've been battling with a forum that has had intermittent downtime for close to 3 years.

    Originally, the forums were running on a Windows 2000 server with a hacked up IIS mod that allowed it to run PHP. MySQL was running on a Windows server as well when I inherited it. My first thoughts were that this wasn't exactly a standard configuration for a PHP application in production used by lots of users, so my first actions upon taking over were to move everything to Debian boxes.

    The setup I created (over two years ago now) is a Linux Load balanced environment (using IPVS) with 3 web servers behind it using round robin scheduling, backed by a MySQL database (MYISAM) with another slave database which is primarily used for backups. This seemed to increase performance quite a bit, but I continued to be disappointed when my site monitoring tools kept reporting timeouts and downtime.

    About a year later, I finally upgraded to vBulletin 4 -- which included also setting up Sphinx search. I figured that this would be the magic bullet that would solve my issues. Again, I saw a performance improvement, but would still get blocks of time every night where the site would stop performing -- and on days where big important events to my forum were taking place, the site would be almost unusable (approx 1000 concurrent connections, with vB showing 4k-8k users online). Posting a lot.

    So I did yet even more research. We upgraded our database hardware (well, moved it to a virtual environment that has way better specifications). I researched mysql tuning software and believe my database is now tuned as well as I can figure out how to tune it. We're going to virtualize our web servers as well, because my boss still wants me to get this site working better, but I've pretty much exhausted all options.

    Last Friday I noticed that I could have been using my slave database for read only requests with a feature built into vBulletin -- again, I thought this might be a magic bullet! But sure enough, more monitor alerts that the site wasn't responding over the weekend - and then replication stopped on my slave due to a replication error (Replication error: something along the lines of "no error specified or something"?!...) and my site basically stopped functioning for a half of a day until I had replication skip the next request.

    So now that feature is turned off again.

    So this leads me to today. I've been monitoring what has been going on in my database for about 3 years, trying to tune it and shape it to a point where it no longer has these issues. I've started researching Galera and Percona Clusters in order to have a better high availability and scalability on the database side of things, but it looks like most of the benefit of those isn't possible with MYISAM.

    That being said, all of this monitoring comes back to the same thing: Table Level Locking. I'm 99.9% sure that all of the downtime I've been experiencing for years is due to this "feature" of MYISAM. And I know that InnoDB only has row level locking.

    Does it make sense to invest time into this? Will this be the magic bullet for my forums? Or will it take 24 hours to convert my 5Gb posts table into a 8Gb+ table that has no performance benefit and takes an extra hour to back up daily in the morning from my slave?

    I'm pretty much getting at my wits end. My forum users think I'm incompetent. I feel incompetent. I don't know what else to do.

    Sorry about the massive history/sob story...

    TL;DR; Site performance problems and nothing helps. Is it possible all I need to do is convert to InnoDB from MYISAM and everything will be better?
    sdi_employee, Jul 8, 2013 IP
  2. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #2
    When we were on vBulletin, we ran 100% MyISAM tables. You can use InnoDB, but probably a better idea to figure out what queries are causing locking issues and fix them. Usually it's poorly designed addons that don't scale well. But she your slow query log and see what's "slow".
    digitalpoint, Jul 8, 2013 IP
  3. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #3
    Are there any performance implications to turning on the slow query log? I don't have it currently enabled.

    [edit] Did some research on this, and apparently logging slow queries longer than a second should have negligible effects on performance.

    Logging them now to see if I can identify any potential problems.
    Last edited: Jul 8, 2013
    sdi_employee, Jul 8, 2013 IP
  4. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #4
    So after running this for a few hours, I see a few long queries with lock time more than a second --

    # Query_time: 21.932754 Lock_time: 6.067182 Rows_sent: 0 Rows_examined: 0
    SET timestamp=1373309654;
    REPLACE INTO postparsed (postid, dateline, hasimages, pagetext_html, styleid, languageid)
    VALUES (...);

    And...

    # Query_time: 25.994530 Lock_time: 3.408096 Rows_sent: 0 Rows_examined: 0
    SET timestamp=1373309654;
    REPLACE INTO threadread
    (threadid, userid, readtime)
    VALUES
    (...);
    Those appear to be just stock vBulletin update queries, no?

    Actually, there were a few other long queries at the same time -- replace into forumread, update user, select from user/userfield/usertextfield/customavatar/customprofilepic/sigpic, select from session/user, replace into ipdata.

    Does any of that look like it could be caused by a plugin?
    Last edited: Jul 8, 2013
    sdi_employee, Jul 8, 2013 IP
  5. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #5
    How much memory does your server have? Looks like maybe it's running out of memory and MySQL is using disk swap for memory or something.
    digitalpoint, Jul 8, 2013 IP
  6. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #6
    I've got 8Gb in there, although a lot of that is tied by by mysql due to my configuration.

    Haven't ever seen swap used go above the values here though:

    top - 16:31:49 up 20 days, 4:34, 5 users, load average: 0.36, 0.65, 0.68
    Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie
    Cpu(s): 2.8%us, 0.8%sy, 0.0%ni, 85.7%id, 10.4%wa, 0.1%hi, 0.3%si, 0.0%st
    Mem: 8200016k total, 8148980k used, 51036k free, 35524k buffers
    Swap: 7811064k total, 52712k used, 7758352k free, 6620756k cached
    sdi_employee, Jul 8, 2013 IP
  7. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #7
    Look for some SELECT queries taking a long time... the UPDATE/INSERT/REPLACE ones are most likely just taking awhile because of a lock applied from a SELECT.
    digitalpoint, Jul 8, 2013 IP
  8. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #8
    I see a few of these queries in there:

    # Query_time: 15.526457 Lock_time: 0.951293 Rows_sent: 5634 Rows_examined: 6885
    SET timestamp=1373309654;
    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid,
    session.userid, session.inforum, session.lastactivity, session.badlocation,
    IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
    FROM session AS session
    LEFT JOIN user AS user ON(user.userid = session.userid)
    WHERE session.lastactivity > 1373304824
    ORDER BY lastactivity DESC;

    That return a ton of rows and seem rather slow (although when I copy-paste them into mysql and execute them manually, they return in less than a second). They also only show having a lock obtained for about a second.

    Whereas the `replace into postparsed` query locks for a good 6 seconds.
    sdi_employee, Jul 8, 2013 IP
  9. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #9
    That query itself looks okay... kind of makes me go back to thinking maybe there's a memory issues or something with MySQL or maybe something else weird. Totally absurd that query should take anywhere remotely close to 15 seconds.
    digitalpoint, Jul 8, 2013 IP
  10. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #10
    I completely agree.

    And the bizarre thing is that this kind of long running query seems to randomly happen, regardless of traffic. Although it happens a lot more when there is high traffic. And it has always seemed to happen, since the beginning of time (well, since before I started working on this).

    Now, if it's swap related, I should be able to see spikes of swap usage during periods of time when I'm getting site unresponsive alerts -- I'll see if I have some historical data, but I'm pretty sure I would've noticed this in the past :\
    sdi_employee, Jul 8, 2013 IP
  11. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #11
    How many MySQL connections do you allow? Maybe MySQL is getting overloaded with connections since it allocates quite a bit of memory to each one, those could eat your physical RAM real quick.
    digitalpoint, Jul 8, 2013 IP
  12. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #12
    max_connections = 1000

    I've run into "Not enough connections available" errors before, so I kept doubling it until that went away. I'm also using persistent connections in my 3 webservers as well.

    I attached the rest of my my.cnf in case you wanted to see anything else in it that I might have possibly messed up.

    I really appreciate the help by the way.

    Attached Files:

    sdi_employee, Jul 8, 2013 IP
  13. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #13
    If you are using 1,000 connections at once, you need to get to the root of WHY you are, not allow more. The more connections you allow, the more memory your DB server is going to be using since it automatically allocates a big chunk for each connection. You may want to also disable persistent connections... typically it causes nothing but problems.
    digitalpoint, Jul 8, 2013 IP
  14. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #14
    Interesting point. I haven't really thought about it since I bumped that number way up, and watching the number of connections I typically have, it's only around 10...

    What's a normal reasonable amount for number of connections?
    sdi_employee, Jul 8, 2013 IP
  15. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #15
    50 or so. Ultimately you need to get to the bottom of why some queries are taking so long and eating up so many connection slots.

    Either way, at the very least, don't use persistent connections... the overhead of the extra "live" connections staying open and using more memory isn't going to be worth it the 0.0001 second time saving of not having to open/close a connection.
    digitalpoint, Jul 8, 2013 IP
  16. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #16
    Okay.

    I'll try dropping the connections to 250 and see how it does without persistent connections.

    I've also got a load testing script that I built and will have a near-duplicate mirror of my prod environment to test with hopefully tomorrow. Hopefully I'll be able to see a difference.

    I'm sure I'll have some more slow queries to wonder about by tomorrow as well.
    sdi_employee, Jul 8, 2013 IP
  17. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #17
    So I've been running with persistent connections disabled, and with the connections at 250 all day.

    I've had about a handful of emails about the site returning errors now; it's possible that this was happening before, but now connections are piling up during issues and people are getting database errors when that happens, which results in me getting email.

    Then again, performance definitely doesn't appear to be better. I'm going to take a look at slow queries in a minute, but I honestly doubt I'll see anything jumping out at me.
    sdi_employee, Jul 9, 2013 IP
  18. digitalpoint

    digitalpoint Overlord of no one Staff

    Messages:
    36,120
    Likes Received:
    2,244
    Best Answers:
    389
    Trophy Points:
    710
    Digital Goods:
    27
    #18
    See if you can catch what is slow in realtime while it's happening with this command (if you are logged into MySQL on the shell):

    Code (Text):
    1. SHOW FULL PROCESSLIST;
    That will tell you every running query, how long it's been running, etc.
    digitalpoint, Jul 9, 2013 IP
  19. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #19
    I've got an excerpt of 128 running connections, mostly locked waiting for table. Did you want me to paste it into here?

    [edit] Pasted below --- tried my best to format it in a readable way.
    sdi_employee, Jul 9, 2013 IP
  20. sdi_employee

    sdi_employee Greenhorn

    Messages:
    56
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    23
    #20
    Code (Text):
    1. Command    Time    State    Info
    2. Binlog Dump    21757    Master has sent all binlog to slave; waiting for binlog to be updated
    3. Sleep    561    
    4. Sleep    163    
    5. Sleep    141    
    6. Sleep    58    
    7. Sleep    7    
    8. Sleep    4    
    9. Sleep    3    
    10. Sleep    3    
    11. Sleep    2    
    12. Sleep    2    
    13. Sleep    2    
    14. Sleep    2    
    15. Sleep    2    
    16. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, user.lastvisit, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infr...
    17. Query    1    query end    UPDATE user AS user SET lastpost = 1373393792 WHERE userid = 18672 AND lastpost < 1373393782
    18. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393793, location = 'forumdisplay.php?f=418', inforum = 418, badlocation = 0, useragent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 ...
    19. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393798, location = 'forumdisplay.php?f=265', inforum = 265, inthread = 0, badlocation = 0 WHERE sessionhash = 'fc854d9868c8f5f034223c3d0fc3c239'
    20. Query    1    update    REPLACE INTO threadread (threadid, userid, readtime) VALUES (828353, 184923, 1373393798)
    21. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393798, location = 'forumdisplay.php?f=100', badlocation = 0 WHERE sessionhash = 'cecdd82502782051a0336d529d83c334'
    22. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393798, location = 'forumdisplay.php?f=366', inthread = 0, badlocation = 0, useragent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B146 S...
    23. Query    1    Waiting for table level lock    SELECT * FROM user WHERE userid=69797
    24. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393801, location = 'forumdisplay.php?f=15', inthread = 0, badlocation = 0, useragent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.22.153_10033210) AppleWebKit/533.16 (KHTML, like Gecko) V...
    25. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393802, location = 'forumdisplay.php?f=123', badlocation = 0, useragent = 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; PM63100/1.15.502.9 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile ...
    26. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 828237 AND contenttypeid = 'vBForum_Post' AND userid = 64514
    27. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 825270 AND contenttypeid = 'vBForum_Post' AND userid = 3485
    28. Query    1    Waiting for table level lock    REPLACE INTO ipdata (rectype, userid, contentid, contenttypeid, ip, altip, dateline) VALUES ('view', 39409, 828352, 2, '70.196.7.252', '70.196.7.252', 1373393803)
    29. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393803, location = 'forumdisplay.php?f=62', inthread = 0, badlocation = 0, useragent = 'Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536...
    30. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393806, location = 'forumdisplay.php?f=143', inthread = 0, badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36' WHERE ...
    31. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    32. Query    1    query end    UPDATE session SET lastactivity = 1373393807, location = '/editpost.php?do=updatepost&amp;postid=26542984&amp;do=updatepost&amp;postid=26542984', inforum = 403, inthread = 825876, badlocation = 0 WHERE sessionhash = '05ab58ba016d731dab831ec492b...
    33. Query    1    Waiting for table level lock    SELECT COUNT(*) AS threads FROM thread AS thread WHERE thread.forumid = 62 AND sticky = 0 AND visible IN (1,2) AND thread.postuserid NOT IN (25411) AND lastpost >= 1370801809
    34. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393809, location = 'forumdisplay.php?f=15', badlocation = 0, useragent = 'Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25' WHER...
    35. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 824736 AND contenttypeid = 'vBForum_Post' AND userid = 16496
    36. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    37. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393836, location = 'forumdisplay.php?f=401', badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36' WHERE sessionhash = 'd7a523...
    38. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 828272 AND contenttypeid = 'vBForum_Post' AND userid = 38685
    39. Query    1    Waiting for table level lock    SELECT moderator.*, user.username, IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid FROM moderator AS moderator INNER JOIN user AS user USING(userid) WHERE moderator.userid = 2007
    40. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393838, location = 'forumdisplay.php?f=143', inthread = 0, badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36' WHERE ...
    41. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    42. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 828298 AND contenttypeid = 'vBForum_Post' AND userid = 66244
    43. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393838, location = 'forumdisplay.php?f=29', loggedin = 2, badlocation = 0, useragent = 'Mozilla/5.0 (Linux; Android 4.1.2; SPH-L710 Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Mobile...
    44. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    45. Query    1    Waiting for table level lock    REPLACE INTO ipdata (rectype, userid, contentid, contenttypeid, ip, altip, dateline) VALUES ('view', 191497, 828234, 2, '66.87.65.207', '66.87.65.207', 1373393839)
    46. Query    1    Waiting for table level lock    REPLACE INTO threadread (threadid, userid, readtime) VALUES (828353, 8700, 1373393798)
    47. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    48. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    49. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    50. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 824857 AND contenttypeid = 'vBForum_Post' AND userid = 17836
    51. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    52. Query    1    query end    UPDATE thread SET lastpost = 1373393840, lastposter = 'cwick925', lastposterid = 51641, lastpostid = 26640721, replycount = 81, postercount = 36 WHERE threadid = 828158
    53. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    54. Query    1    Waiting for table level lock    REPLACE INTO ipdata (rectype, userid, contentid, contenttypeid, ip, altip, dateline) VALUES ('view', 74382, 800645, 2, '50.33.165.41', '50.33.165.41', 1373393840)
    55. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 826409 AND contenttypeid = 'vBForum_Post' AND userid = 4800
    56. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    57. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 828353 AND contenttypeid = 'vBForum_Post' AND userid = 184923
    58. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    59. Query    1    update    REPLACE INTO ipdata (rectype, userid, contentid, contenttypeid, ip, altip, dateline) VALUES ('view', 39409, 828352, 2, '70.196.7.252', '70.196.7.252', 1373393841)
    60. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    61. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    62. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 828235 AND contenttypeid = 'vBForum_Post' AND userid = 26037
    63. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    64. Query    1    Waiting for table level lock    REPLACE INTO ipdata (rectype, userid, contentid, contenttypeid, ip, altip, dateline) VALUES ('view', 10891, 828312, 2, '67.85.21.82', '67.85.21.82', 1373393844)
    65. Query    1    Waiting for table level lock    SELECT user.username, user.usergroupid, user.membergroupids, session.userid, session.inthread, session.lastactivity, session.badlocation, IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid, IF...
    66. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    67. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    68. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    69. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    70. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393845, location = 'showthread.php?t=825270&page=55', badlocation = 0, useragent = 'Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; SPH-L900 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile S...
    71. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393845, location = 'showthread.php?t=792692', inforum = 94, inthread = 792692, badlocation = 0 WHERE sessionhash = '7eb83481bbc9d15657f4cfb3781ceca7'
    72. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393845, location = 'showthread.php?t=792692&page=12', inthread = 792692, badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36' ...
    73. Query    1    Waiting for table level lock    SELECT SQL_CALC_FOUND_ROWS visitormessage.*, user.*, visitormessage.ipaddress AS messageipaddress ,avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS ...
    74. Query    1    update    REPLACE INTO autosave (contenttypeid, contentid, parentcontentid, userid, pagetext, title, posthash, dateline) VALUES ( 'vBForum_Post', 0, 828352, 65912, '[QUOTE=Bruno87;26640666]players have taken pay-cuts to put themselves in posi...
    75. Query    1    Waiting for table level lock    SELECT IF(thread.visible = 2, 1, 0) AS isdeleted, NOT ISNULL(subscribethread.subscribethreadid) AS issubscribed, emailupdate, folderid,threadread.readtime AS threadread, forumread.readtime AS forumread, post.pagetext AS description, thread....
    76. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393845, location = 'showthread.php?t=828312', badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36' WHERE sessionhash =...
    77. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393845, location = 'showthread.php?t=828157', badlocation = 0 WHERE sessionhash = 'c16a1998ec14a1fce63f489aa6ffa5b1'
    78. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393845, location = 'showthread.php?t=828336', badlocation = 0, useragent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.3072...
    79. Query    1    Waiting for table level lock    SELECT * FROM user WHERE userid=20348
    80. Query    1    Waiting for table level lock    SELECT post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted, user.*, userfield.*, usertextfield.*, icon.title as icontitle, icon.iconpath, avatar.avatarpath, NOT ISNULL(customavatar.userid) AS h...
    81. Query    1    Waiting for table level lock    SELECT IF(thread.visible = 2, 1, 0) AS isdeleted, NOT ISNULL(subscribethread.subscribethreadid) AS issubscribed, emailupdate, folderid,threadread.readtime AS threadread, forumread.readtime AS forumread, post.pagetext AS description, thread....
    82. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393846, location = 'showthread.php?t=768775', badlocation = 0 WHERE sessionhash = '383444eafbe4b865e80b3f66df21493f'
    83. Query    1    Waiting for table level lock    REPLACE INTO autosave (contenttypeid, contentid, parentcontentid, userid, pagetext, title, posthash, dateline) VALUES ( 'vBForum_Post', 0, 824309, 24961, 'Also I don\'t see Bynum starting Day 1. I have a feeling they would want to b...
    84. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393846, location = 'showthread.php?t=828322', inthread = 828322, badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36' ...
    85. Query    1    Waiting for table level lock    SELECT announcement.announcementid, startdate, title, announcement.views, user.username, user.userid, user.usertitle, user.customtitle, user.usergroupid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid...
    86. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393847, location = 'showthread.php?t=825270&page=63', inthread = 825270, badlocation = 0, useragent = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36' ...
    87. Query    1    Waiting for table level lock    SELECT pagetext, title FROM autosave WHERE contentid = 0 AND parentcontentid = 825574 AND contenttypeid = 'vBForum_Post' AND userid = 18672
    88. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393847, location = 'showthread.php?t=828344', inforum = 41, inthread = 828344, badlocation = 0 WHERE sessionhash = '9d2f44a870db34db294909b8e8166fa9'
    89. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393847, location = 'showthread.php?t=828344', inforum = 41, inthread = 828344, badlocation = 0 WHERE sessionhash = '9d2f44a870db34db294909b8e8166fa9'
    90. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393847, location = 'showthread.php?t=828223', inforum = 55, inthread = 828223, badlocation = 0 WHERE sessionhash = 'db3a31aeec65004a7ae4d9d7e00af2bc'
    91. Query    1    Waiting for table level lock    SELECT post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted, user.*, userfield.*, usertextfield.*, icon.title as icontitle, icon.iconpath, avatar.avatarpath, NOT ISNULL(customavatar.userid) AS h...
    92. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393848, location = 'showthread.php?t=797417&page=3', inforum = 41, inthread = 797417, badlocation = 0 WHERE sessionhash = 'db3a31aeec65004a7ae4d9d7e00af2bc'
    93. Query    1    Waiting for table level lock    SELECT subscribeforumid, forum.forumid, forum.lastpost, forum.lastposter, forum.lastposterid, forum.lastthread, forum.lastthreadid, forum.lasticonid, forum.threadcount, forum.replycount, forum.lastpostid, forum.lastprefixid, user.usergroupid, user.homepa...
    94. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393848, location = 'showthread.php?t=817690', inforum = 55, inthread = 817690, badlocation = 0 WHERE sessionhash = '0026db438acf1435bd02f084505e4527'
    95. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid FRO...
    96. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393848, location = 'showthread.php?t=826482&page=5', inforum = 58, inthread = 826482, badlocation = 0 WHERE sessionhash = '601396a3d0cbe2e841021c521720b3a9'
    97. Query    1    Waiting for table level lock    SELECT post.postid, post.title, post.pagetext, post.dateline, post.userid, post.visible AS postvisible, IF(user.username <> '', user.username, post.username) AS username, thread.threadid, thread.title AS threadtitle, thread.postuserid, thread.visib...
    98. Query    1    Waiting for table level lock    INSERT IGNORE INTO session (sessionhash, userid, host, idhash, lastactivity, location, styleid, languageid, loggedin, inforum, inthread, incalendar, badlocation, useragent, bypass, profileupdate, apiclientid, apiaccesstoken) VALUES ('1cf2a2...
    99. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393849, location = 'showthread.php?t=798449&page=45', inforum = 66, inthread = 798449, badlocation = 0 WHERE sessionhash = 'bcfa71a6c92280e686dc7f0ea3ae9a3c'
    100. Query    1    Waiting for table level lock    REPLACE INTO threadread (threadid, userid, readtime) VALUES (828336, 39307, 1373393792)
    101. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid FRO...
    102. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid FRO...
    103. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393849, location = 'showthread.php?t=826482&page=5', inforum = 58, inthread = 826482, badlocation = 0 WHERE sessionhash = 'c66497bf7227752babbe477b39ab44e9'
    104. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid FRO...
    105. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393849, location = 'showthread.php?t=828313', badlocation = 0 WHERE sessionhash = '1fa87fbb91b79374505db3281fc3c277'
    106. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393849, location = 'showthread.php?t=828344', badlocation = 0 WHERE sessionhash = '7693a4f615932aee391d69c03c5a2945'
    107. Query    1    Waiting for table level lock    UPDATE session SET lastactivity = 1373393849, location = 'showthread.php?t=828336', badlocation = 0 WHERE sessionhash = '7031ada7d833c1affb6f76ab5b329f73'
    108. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid FRO...
    109. Query    1    Waiting for table level lock    SELECT user.username, (user.options & 512) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, session.badlocation, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid FRO...
    110. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = 'f8bfe5b1934713959093a8547d1224cc' AND lastactivity > 1373388850 AND idhash = '5a2d138f84f12b255696ce15fba8c03b'
    111. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = 'f638379124c494240cb7873533251c53' AND lastactivity > 1373388850 AND idhash = 'a267c504a9ea112f950a5b77a48c2d42'
    112. Query    1    Waiting for table level lock    SELECT * FROM session WHERE userid = 0 AND host = '157.55.33.111' AND idhash = '3f0601152dfc3592e95afec8f1e250b1' LIMIT 1
    113. Query    1    Waiting for table level lock    SELECT userfield.*, usertextfield.*, user.*, UNIX_TIMESTAMP(passworddate) AS passworddate, user.languageid AS saved_languageid, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid FROM user AS user LEFT JOIN userfield ...
    114. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = 'ec350a892e55e8050a6fdf3885892e08' AND lastactivity > 1373388850 AND idhash = '2f208eacd4b07e787a179bd22d20199b'
    115. Query    1    Waiting for table level lock    SELECT * FROM session WHERE userid = 0 AND host = '180.76.5.143' AND idhash = '55890e9a27224064dcf3087b1a9f5471' LIMIT 1
    116. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = '62e02ad00dbd8ecefd08890798982e43' AND lastactivity > 1373388850 AND idhash = '13bdce42f8e3ec3cc207396aa33855d1'
    117. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = 'fccd7ec43a2bdd24c82a620eb967d42f' AND lastactivity > 1373388850 AND idhash = 'bbce82a4c8c6de71bac1b73bca624b03'
    118. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = '2a3e7d24979ac3c1c4b76c00e4077eb4' AND lastactivity > 1373388850 AND idhash = '47c770f6b48fa943c8a0d77b23b219db'
    119. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = '826c617730bd60f4c6d3041e04bfb569' AND lastactivity > 1373388850 AND idhash = '992bc2cdaf326305beef09be249120c7'
    120. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = '4a88fa180e4be6112fa9142a55893fe5' AND lastactivity > 1373388850 AND idhash = '1466f6f8b30d70fcef42992d739e0d07'
    121. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = '8a02acb87b25bb0e3985892cc1f4cee0' AND lastactivity > 1373388850 AND idhash = 'e33dc608e17354f091cb7833a7620245'
    122. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = 'bba63045f436a8f569e81203556366b8' AND lastactivity > 1373388850 AND idhash = 'bcb7ddafff4a6b27d6fbfd61f707731f'
    123. Query    1    Waiting for table level lock    SELECT * FROM session WHERE userid = 0 AND host = '157.55.32.54' AND idhash = 'ba0d16f4a233267fbc5b2465193ff81b' LIMIT 1
    124. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = '611eeabccde7c4c80671de1b76cf8b96' AND lastactivity > 1373388850 AND idhash = 'f7bd30966716402faf217b5cc0d3a26b'
    125. Query    1    Waiting for table level lock    SELECT * FROM session WHERE sessionhash = 'b278a1a0bebf2d4808c3cbfedd33fa5c' AND lastactivity > 1373388851 AND idhash = '3ddf3abf55d22e13a4a3748991a13f41'
    126. Sleep    0    
    127. Query    0        SHOW FULL PROCESSLIST
    128. Query    0    Waiting for table level lock    INSERT IGNORE INTO session (sessionhash, userid, host, idhash, lastactivity, location, styleid, languageid, loggedin, inforum, inthread, incalendar, badlocation, useragent, bypass, profileupdate, apiclientid, apiaccesstoken) VALUES ('d3a848...
    129. Query    0    Waiting for table level lock    SELECT * FROM session WHERE userid = 0 AND host = '209.177.59.249' AND idhash = 'a1ec997bb3aeb6c5037925c085cea35d' LIMIT 1
    130.  
    sdi_employee, Jul 9, 2013 IP