Donations for Shawns coffee pot...

How much sleep did you get? :D
None.


You aren't rerouting to an extended class are you (class name extends XFCP_name)? That would not be good me thinks.

But ignoring that... I am looking at this:

XenForo_Model_Session::addSessionActivityDetailsToList

Code:
$controller = XenForo_Application::resolveDynamicClass($controller, 'controller');
try
{
$canLoad = ($controller && XenForo_Application::autoload($controller));
}
catch (XenForo_Exception $e) {} // likely an XFCP autoload error - skip this

You can see from the comments that the intention is to skip autoload errors in this instance, but the resolver which is called outside of the try block initiates the autoload as well. Maybe try moving that first line to inside of the try block.
Yeah... I was retarded and rerouting to __CLASS__ from an XFCP class. Totally my fault.

I know that some of your end results are dependent on your coding and server environment (and probably a thousand things that are above me skill level in understanding). That said, I appreciate your willingness to share...the thing that most immediately caught my eye was your frontpage "content aggregator." I really like what you did there and if it is easily done without coding modification or dependent on server requirements, a release of however you did that via an add-on would be very sweet.

I know you have to attend to your site first, maybe get a minute or two of sleep, and enjoy the coffee pot that should be coming your way...but if you can, a release of your content aggretator code would definitely make many folks (at least me) very happy.
Not entirely sure about that one... at least not right away... it's pretty hacked together... like the feed sources can only be added by inserting into the table directly at this point (it has no UI for it what-so-ever). There's also some complexity of the Twitter API for the "industry tweets" part. But we'll see... like I said, first I just need to stabilize my site so I would be comfortable not spam reloading error logs to find new problems. hah
 
Not yet, but thanks. :) Still fixing bugs as users report them, and changing over a lot of backend processes.

Just updated the system that runs daily that demotes users to needing email confirmation if their email bounced that day.

Then I updated the charting system for users/guests online for XenForo so now it's charting again. Same with the HTTP requests being processed (as part of the switch we also went from Apache to Nginx, so I had to rewrite that stuff for Nginx).

Image%202013.01.22%201:36:33%20AM.png


And still putting out tons of fires as I find them... :) Been a crazy few days. lol

Is that munin and how do you get it to track "Site Users Online"?
 
No sleep that's not so great. How much time went in it to convert the DB to Xenforo and how long did it all take testing, writing php code etc.
the actual conversion process took about 90 minutes (a grand total of about 76M db records).

Coding time... No clue, well over a million lines of code since I have so much custom stuff.
 
Shawn, I was wondering what database engine you ended up going with for your XenForo tables?

Back in this thread you mentioned:
For what it's worth, I have my XenForo dev installation using all MyISAM tables for now (undecided what I'll use in production).

What did you decide? Any general thoughts on MyISAM vs InnoDB for XenForo at this point?
 
Just curious from that thread, I wonder why the session table isn't InnoDB, wouldn't it benefit the most from row level locking?

Maybe since it's primary key indexed-based searching and writing, it doesn't make much of a performance improvement to use InnoDB
 
Just curious from that thread, I wonder why the session table isn't InnoDB, wouldn't it benefit the most from row level locking?

Maybe since it's primary key indexed-based searching and writing, it doesn't make much of a performance improvement to use InnoDB

Probably for faster writes. If you reach the limits of scalability then you can enable a cache in the config file and store sessions in there, which I'm sure is what DP is doing.
 
Shawn, I was wondering what database engine you ended up going with for your XenForo tables?

Back in this thread you mentioned:

What did you decide? Any general thoughts on MyISAM vs InnoDB for XenForo at this point?
You are going to laugh when you hear this... :)

All tables are MyISAM other than the the MEMORY tables. This is what our process list looks like on the master DB server right now (during peakish times).

Code:
mysql> show processlist;
+---------+---------+--------------------+---------+----------------+--------+-----------------------------------------------------------------------+------------------+
| Id      | User    | Host              | db      | Command        | Time  | State                                                                | Info            |
+---------+---------+--------------------+---------+----------------+--------+-----------------------------------------------------------------------+------------------+
|    1996 | root    | 192.168.1.35:38796 | NULL    | Binlog Dump    | 155980 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL            |
|    1997 | root    | 192.168.1.38:53605 | NULL    | Binlog Dump    | 155980 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL            |
|    1998 | root    | 192.168.1.37:34365 | NULL    | Binlog Dump    | 155980 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL            |
|    1999 | root    | 192.168.1.39:53008 | NULL    | Binlog Dump    | 155980 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL            |
| 4483388 | root    | 192.168.1.30:55781 | xenforo | Sleep          |  27096 |                                                                      | NULL            |
| 5615783 | DELAYED | localhost          | xenforo | Delayed insert |      1 | Waiting for INSERT                                                    |                  |
| 5645742 | DELAYED | localhost          | xenforo | Delayed insert |      9 | Waiting for INSERT                                                    |                  |
| 5679888 | root    | localhost          | NULL    | Query          |      0 | NULL                                                                  | show processlist |
+---------+---------+--------------------+---------+----------------+--------+-----------------------------------------------------------------------+------------------+
8 rows in set (0.00 sec)

Current traffic, loads, etc. are are to the right side of the charts:
Image%202013.01.23%203:07:18%20PM.png


So as you can see, we are serving up a LOT of HTTP requests (over 2,000 at this second in time). At the same time, the DB server loads are low (blade 7 is the master, 8-10 are the publicly used slaves). So even with the master DB server processing 100+ WRITE queries per second, the current load is 0.04.

Why all the stats? Because it makes it easier to understand why I haven't really taken the dive into InnoDB yet. I *hear* the current versions of MySQL have really made it nice, but I just haven't had time to muck with InnoDB myself, and when MyISAM is working so well for us, why mess with it?

My whole theory on DB queries is they should be so fast that there shouldn't BE any table locks to begin with. But yeah... once I get new DB servers with more memory, I'll probably dive into InnoDB... mostly for transaction support.

Probably for faster writes. If you reach the limits of scalability then you can enable a cache in the config file and store sessions in there, which I'm sure is what DP is doing.
Yes, we use Memcache for sessions.
 
Top Bottom