March 5th, 2001

System lock ?

Sometimes when I'm looking at "show processlist" in MySQL I see that certain threads are in the "System lock" state.

I assume this means the db is using flock on the files? I can't find documentation about this state.

However, I'm not running mysqld with --enable-locking! I'm using --skip-locking, which "show status" confirms:

skip_locking ON

So are we losing performance because of this? Or is MySQL should going doing something like:

set_state("System Lock");
// we are here?
if (! skip_locking) {
set_state("Sending data...");

This disturbs me.


Somebody figure out how to use FCGI::ProcManager and Frank will be happy.

The idea is that instead of apache's fastcgi process manager exec'ing all the fastcgi processes, it can launch one, which can then load all of its shared data and then it can fork itself a bunch for the children.... most the memory pages will remain shared (containing perl, the code, the shared data), and as a result, more can be running without swapping.

The documentation is pretty sparse, but it's a damn good idea. See if you can write a simple script using FCGI::ProcManager and show me the apache configuration necessary to run it. It'd be very helpful.

Waddling cartman...

Well, cartman seems to be waddling...

Userinfo pages, comment strings, and the like are zippy, and journals/friends pages error sometimes :)

Thanks to tribelessnomad, the documentation system might not be too far off, I need to start poking and prodding at it...

I have been hearing some decent things about the use of the customized error messages brad decided to do.. I think this is cool, actually. Very personalized. Perhaps you should start dating the modifications so people have a better idea when the big bad things move?

Also, I wonder if it would be beneficial to have a win32 checkfriends taskbar client made, then populated... That could reduce hammering a bit, and I think it could reduce database load. I wouldn't want to rely on it, however.
But, it is something that a lot of people could use and be benefitted by, that shouldn't require brad to make. Anyone want to stab at it? Or would someone prefer to kick me for bringing it up? :)

Done for now..

source ready

I got the LJ source all packaged up. Email me and I'll send it to you. Include your username in your email (since I can't always tell who's who), and also your level of Perl experience. If you're not somewhat active on lj_dev or you don't know Perl, don't mail me..... this is intended for a few select people that will do a thorough code review and security audit and give me a lot of feedback .... not for people that are just somewhat interested.

If I get enough feedback, it'll go public on Saturday, March 17th.

Seriously, I need good feedback on two main areas:
  • SECURITY --- this is the most important. If you see I did something stupid that would let somebody do something they're not supposed to, email me immediately with info, and then include it in your overall review as well.
  • Performance --- less important, but still critical.... if you see something that is very stupid and is making things slow, let me know. Now isn't the time to rearchitect all the code, though.... maybe later.
So, I'll send you the tarball when you email me. The license specifically says it's not GPL'ed yet, so don't redistribute it. If you're paranoid and think I don't plan to GPL it (I just know this would have come up), then don't request it yet, and download it later when it is GPL'ed.