January 24, 2007

Life

Run Away!

I'm heading down to Melbourne for the Australia Day long weekend to visit my family. As usual, I have about three days worth of stuff I need to do before I leave, and I have to catch a train in, oh, five hours.

I expect to sleep most of the way down...

Now where did I put those Sugar DVDs?

Posted by: Pixy Misa at 11:41 PM | Comments (936) | Add Comment | Trackbacks (Suck)

January 23, 2007

Geek

Goddam Docking Computer!

Saw this over at Ace's, and thought That needs to be set to The Blue Danube. Ask, and apparently you will receive:

more...

Posted by: Pixy Misa at 03:54 AM | Comments (788) | Add Comment | Trackbacks (Suck)

Geek

More Fastnessess

Got New Minx up and running on Kasumi:

Processing 0.05, elapsed 0.0557 seconds.
42 queries taking 0.0192 seconds, 138 records returned.
Page size 98 kb.
Powered by Minx 0.81.19a.
Cf. Martina:
Processing 0.09, elapsed 0.1028 seconds.
42 queries taking 0.0383 seconds, 138 records returned.
Page size 98 kb.
Powered by Minx 0.81.19a.
So, not quite twice as fast, and hence not quite back to the speeds of Old Minx on Nabiki.

I do have a solution for this: Replace the template interpreter with a compiler that custom-builds all the database queries. And I might even do that at some point, but not today. 55 milliseconds is something I can live with.

Oh, and the perennial favourite:

Retrieved from cache, processing 0.0, elapsed 0.0019 seconds.
Page size 98 kb.
Powered by Minx 0.81.19a.
I always like seeing that one.

Posted by: Pixy Misa at 12:02 AM | Comments (39) | Add Comment | Trackbacks (Suck)

January 22, 2007

Geek

Fastnesses!

This is updated from my previous post. I now have three new servers to play with, so let's see how they go.

Linux

Kasumi, Ukyo and Shampoo are Xeon 3060s: dual-core 64-bit 2.4GHz
Akane and Nabiki are Opteron 170s: dual-core 64-bit 2.0GHz.
Ranma is an Athlon XP 3000+: single-core 32-bit 2.16GHz.
Martina is an Athlon XP 2800+: single-core 32-bit 2.08GHz.
Naga is an Athlon 64 3200+: single-core 64-bit 2.0GHz.
Namo was a P4 Celeron: single-core 32-bit 1.7GHz

Windows

Lina: Pentium 4 2.6GHz
Amelia: Core Duo 1.66GHz
Haruhi: Core 2 Duo 2.4GHz

SystemCPUClockPythonLoopStringScanTotal
KasumiCore 22.4GHz2.50.7431.4430.4672.653
NagaAthlon 642.0GHz2.5/64-bit1.7372.0301.3375.103
AkaneOpteron2.0GHz2.51.8872.7330.8805.500
MartinaAthlon XP2.08GHz2.51.8172.7930.8675.447
RanmaAthlon XP2.16GHz2.51.7602.6970.8405.297
LinaPentium 42.6GHz2.5 (Win)2.0385.0580.8757.971
HaruhiCore 2 Duo2.4GHz2.5 (Win)0.6441.9330.4773.053
AmeliaCore Duo1.66GHz2.5 (Win)1.2433.1581.0335.434
NamoCeleron1.7GHz2.4.33.0474.8931.9609.900

Psyco

SystemCPUClockPythonLoopStringScanTotal
KasumiCore 22.4GHz2.5+Psyco0.0130.3530.5030.870
HaruhiCore 22.4GHz2.5 (Win)+Psyco0.0120.2730.5540.839

I'm not sure where the difference between the Linux and Windows versions comes from; I'm guessing that Psyco would still be using Python's string libraries, and they're compiled using a different (better) compiler on Windows, perhaps Intel's. I'm still using GCC 3.4.6 (which is what CentOS installs); I might be able to do better with GCC 4.1, and I'll probably try that at some point.

Posted by: Pixy Misa at 12:34 PM | Comments (31) | Add Comment | Trackbacks (Suck)

January 21, 2007

Anime

Naked Naughty Admiral Chicks 'R' Us

I can't easily scan that inside page, but she's on the back cover as well. Just not quite so much of her...

banner-back.jpg

crest-back.jpg

Posted by: Pixy Misa at 02:14 PM | Comments (748) | Add Comment | Trackbacks (Suck)

January 20, 2007

Life

Lunch

Had lunch today with Pete Zaitcev, who's been in Sydney the past few days for Linux Conference Australia. (And who I see made it to a computer before I did. I went grocery shopping on the way home, then my Coca-Cola exploded*, so I was distracted for a bit.)

Pete very generously presented me with a DVD set of Serial Experiments Lain, which I have had on VHS tape since it first came out, but have never watched. Thanks Pete!

Then we hit Kinokuniya, where we wandered over to the Japanese language section. Usually I don't go past the art books, because I can't read a word of Japanese, but since Pete can, over we wandered.

And it's a good thing for my wallet that I can't read Japanese, because they had all 40 volumes of 3x3 Eyes.**

I picked up a couple of things: the latest volume of Battle Club, from the creator of Ikki Tousen, and the Crest/Banner of the Stars manga Pete mentions.

Which look like this:

crest-small.jpg

banner-small.jpg

Is that not how Lafiel normally looks, then?

* It was supercooled - I guess my fridge is turned down a bit too low - so when I opened it about a quarter of it froze instantly and another quarter squirted out all over the kitchen.

** How do you pronounce that, anyway?

Posted by: Pixy Misa at 04:28 PM | Comments (1276) | Add Comment | Trackbacks (Suck)

Geek

More Fast!

SoftLayer are running a sale this weekend, and it looks like I'll be picking up three Xeon 3060 servers, with a total of 10GB of memory and 2.5TB of disk.

That's a whole lot of fast. It's equivalent in terms of CPU, memory and disk alike to five more of the Opteron servers we have right now.

I'll be bringing forward the commissioning of Kasumi by two months, but the deal I'm getting works out equal to two months free over the first year, so effectively I get a development and beta-test box for two months at no extra charge.

Posted by: Pixy Misa at 03:43 PM | Comments (27) | Add Comment | Trackbacks (Suck)

Geek

Need More Fast!

I've been running some more benchmarks on Minx.

The page you see here takes around 40ms to produce.

The same page on my test server, on essentially the same version of Minx, takes around 60ms.

The same page on the new version of Minx takes around 95ms.

One interesting point there is that although Nabiki (the server) and Martina (my test box) deliver the same results in trivial Python benchmarks, the actual application runs significantly faster on Nabiki. Those same trivial benchmarks indicate that the Xeon 3060 servers I'm planning to deploy on will be 60% faster than Nabiki. I'm very curious now to see how that translates to the real application.

On a more depressing note, jumping from 23 fields per entry to 118 (I think those counts are correct) has a real and noticeable impact on performance. And I still have five tables to add to that join...

The performance hit doesn't seem to be on the MySQL side. At least, once something is in the query cache, it coughs up the data more or less instantly. Rather, it's the Python DB library handling all the fields. It takes time. On my test box, Python can retrieve from MySQL and stash into native data structures about 300,000 fields per second. That puts a hard limit on how fast Minx can run; the time taken to run the queries on New Minx on Martina is about 85% of the total time taken to generate the page on Old Minx on Nabiki. I'm going to keep on working to improve performance, but it looks like I'm fighting Amdahl's Law here.

My goal was to deliver complex pages in under 100ms and simple ones in 10; that's still achievable unless I really break something, but I'm going to have to borrow some of that performance from the new hardware.

Posted by: Pixy Misa at 01:26 AM | Comments (260) | Add Comment | Trackbacks (Suck)

January 17, 2007

Blog

It's Alive!


Processing 0.02 seconds.
7 queries taking 0.0122 seconds, 29 records returned.
Page size 22 kb.
Powered by Minx 0.80 alpha.
(Does happy dance.)

The production version of Minx is up and running.

As I was slogging through it, and through the enormous lists of fields that the new version provides, I was thinking this is not going to be fast.

Well, a page of 1000 posts comes up in 220 milliseconds (with Psyco; 300ms without). That doesn't have inline comments, because I've broken the comment handler, but I would hope you aren't using inline comments if you have 1000 posts per page...

That's not slow.

Update: Except it didn't actually include 1000 posts. Bleh. Bug hunt time.

Update: Ah, it's a not-a-bug. It's returning 255 posts. Hint hint. Okay, I'll just tweak that...

Processing 0.71, elapsed 0.8462 seconds.
7 queries taking 0.4891 seconds, 1004 records returned.
Page size 1452 kb.
Powered by Minx 0.81.18 alpha.
Hmm. Anyway...

Approximately 20ms for a normal page of 25 posts. You can see that this blog takes rather longer than that; that's the effect of the inline comments, which are dynamically sanitised in the old version. The new version does static sanitisation, which should eliminate much of that performance penalty. (Also, I'm not using Psyco on the server, because I ran into a memory leak when I tried it; that's since resolved.)

So I'm through restructuring the code and data.* Now the fun begins!

* Mostly. Still lots of tweaking to do, but the heavy lifting is done.

Posted by: Pixy Misa at 10:40 PM | Comments (184) | Add Comment | Trackbacks (Suck)

January 14, 2007

Geek

Jessica Alba Ate My Server

I have 120 Apache threads running non-stop and bandwidth up 100% over normal, and who do I have to thank for it?

Idiots searching for pictures of Jessica Alba and Elisha Cuthbert and ending up at the Jawas.

more...

Posted by: Pixy Misa at 07:26 AM | Comments (1115) | Add Comment | Trackbacks (Suck)

January 12, 2007

Life

Bleh

I've been down with a cold all week, which is why I've been less active than normal. I'm trying to finish translating Minx from the proof-of-concept model to the production design, but that's hard to do when your head is all squishy.

Worse, I think the cough that took me out for three weeks last October is coming back. Well, it's nothing like as bad yet, but it feels similar. Or maybe it's just a cough; I don't know.

I'd go back to bed except that it's nearly 30 degrees here at Pixy Central even with the air conditioner running non-stop.

I'd eat some ice cream except that seems to aggravate the cough.

I'd drink some of my nice iced tea except I already drank it all.

I'd go to the shop and buy some more except that it's even hotter outside, and as I said, my head is all squishy.

Meanwhile, I was doing some testing, converting all the munu blogs to Minx using my automagical converter program. Two problems cropped up:

First, it took 50 minutes to convert everything, which seemed a bit slow. It's less than 15 seconds per blog, and that involves pulling the data out of the old database as well as putting it into the new one (this is a direct db-to-db transfer rather than an export/import function) - but that's still slower than I'd hoped.

Second, the resulting database was nearly twice the size of the original Movable Type one. I know I have a lot of new fields to account for the extra functionality, but I was very careful about how and when and where they were added, so I was extremely disappointed to see that they caused that much bloat. Essentially, that would mean I'd need twice the memory on the database servers to handle the same number of users, which makes for a lot more expense.

And then I discovered a leetle bug in the conversion program. That caused it to copy each blog twice. Which would account for 50% of the slow and 100% of the bloat.

My head feels a bit better now.

Update: Well, it fixed the size problem. The speed problem, not so much. The code isn't the issue; 45 minute run time vs. 4 minutes CPU. I'll move on to the import routine and see if it's the pull/push nature that's slowing it down.

Update: The dread cough of doom seems to be in hiding. Let's hope it stays that way. It's also set to be a lot cooler the next few days, with predicted maximums of 23 to 23 degrees, where today it was as I said 30 degrees indoors with the air conditioner running...

Now if I could just lose the headache, I'd be almost happy.

Posted by: Pixy Misa at 02:19 PM | Comments (76) | Add Comment | Trackbacks (Suck)

January 11, 2007

Anime

Shakugan No Spoiler!

Steven: Some of the issues you raise are major plot points. Some of them aren't, but are nonetheless resolved satisfactorily by the end of the series. Some of them are ignored as the action heats up, but some of them come to the fore just as the action heats up.

And some are never really answered.

Just so you know.

Posted by: Pixy Misa at 03:55 PM | Comments (578) | Add Comment | Trackbacks (Suck)

January 10, 2007

Geek

Meh

A phone. And a set-top box.

That's it?

Posted by: Pixy Misa at 05:19 AM | Comments (65) | Add Comment | Trackbacks (Suck)

January 06, 2007

Anime

More Ikki Than Ever

Ikki Tousen Dragon Destiny

I should have guessed: There must be four dragons. The third dragon is only revealed in volume 10 of the manga (just released this month), so this trailer contains spoilers even if you're up to date with the manga.

Also contains tipples. So NSFW, if your work frowns on that. (Actually, it's a pretty crummy trailer. There may be a better one available; I'm downloading it now.)

It looks like it continues on from the first series, which is problematic because they kind of mangled the plot in the first series so that they could have an "ending". I don't remember if the dragons showed up in the anime at all.

Okay, the trailer I downloaded is just a higher-quality version of the one at YouTube. I'll upload it later.

Posted by: Pixy Misa at 06:50 PM | Comments (521) | Add Comment | Trackbacks (Suck)

January 05, 2007

Geek

Ping!

Hitachi announces 1TB drives.

Suggested retail price of $399; the Seagate 750GB drive sells for around $340, so that's a pretty good deal. Seagate launched the 750GB back in April at a price of $559.

This is good news, because I need a bunch of these. And SoftLayer do use Hitachi drives. (I just checked: Akane has Hitachi drives; Nabiki has Western Digital. Ranma, which is hosted at LayeredTech, also has Western Digital.)

The new drives are 5-platter models, so they don't actually represent an advance in areal density, but they do represent an advance in the amount of storage you can jam into a 1U server.

(Via The Inquirer)

Posted by: Pixy Misa at 09:04 PM | Comments (429) | Add Comment | Trackbacks (Suck)

Anime

Full Moon

Just finished watching Full Moon wo Sagashite. Recommended, even if it made my head hurt. (That might be more due to the fact that I need new glasses than anything unique to this show, anyway.)

For those of you who have already seen it, Will at Criminally Weird has some thoughts. (If you haven't seen it, he still has some thoughts, but big spoiler warning.)

Posted by: Pixy Misa at 01:08 AM | Comments (40) | Add Comment | Trackbacks (Suck)

January 03, 2007

Geek

The Thingies Are Back

Yay!

Posted by: Pixy Misa at 01:00 AM | Comments (42) | Add Comment | Trackbacks (Suck)

January 02, 2007

Geek

iTunes

iTunes kinda sucks when you're managing a lot of podcasts. If you want your iPod to keep all episodes of one 'cast, and the last 20 episodes of another, well, it don't do that.

What you can do, and what everyone else but me has probably already worked out, is set up a smart playlist for each podcast. That lets you control exactly what you get on your iPod. On the other hand, it's far more work, and your Podcasts don't show up under "Podcasts" any more.

New eps of Electric Sista Hood and Anime Pulse out now. (And seriously, the Anime Pulse guys should hire the ESH girls to do a makeover on their website.)

Posted by: Pixy Misa at 10:49 PM | Comments (49) | Add Comment | Trackbacks (Suck)

Life

I Got Nothin'

You?

Posted by: Pixy Misa at 10:32 PM | Comments (99) | Add Comment | Trackbacks (Suck)

December 31, 2006

World

Happy New Year!

It's 2007.

Well, nearly 2007.

2006.9998.

I'm sitting here watching AMV's and documenting Minx template tags. There's millions of the buggers.

Posted by: Pixy Misa at 11:39 PM | Comments (46) | Add Comment | Trackbacks (Suck)

December 30, 2006

World

So Let All Tyrants Perish!

From The Age:

Saddam Hussein is dead, hanged at dawn in Baghdad for crimes against humanity.
And there was much rejoicing.

Posted by: Pixy Misa at 02:31 PM | Comments (1170) | Add Comment | Trackbacks (Suck)

December 28, 2006

Anime

Meeeee!

Download ElectricSistaHood episode 31. Listen starting at 8m30 through to about 10m00.*

That's me they're talking about.

And then they segue into a discussion on Ghostbusters. These girls rock!

* And the rest of it too. Uguu!!

Posted by: Pixy Misa at 07:49 PM | Comments (107) | Add Comment | Trackbacks (Suck)

December 27, 2006

Geek

Who's A Pretty Bot?

With new servers coming soon, and lots of new users with them, I've been looking for a good monitoring system.

Simple Server Monitor is what it says. It monitors your servers - on ping, HTTP, SMTP and/or POP - and screams like a stuck parrot if anything goes down.* It also plots little graphs of response times. Not fancy, but it fills the immediate need.

I also tried out Spiceworks, which is kind of neat, but really designed for monitoring small office networks. It's written in Ruby (using Rails), and runs in the background, accessed through your browser. For a Web app, it's pretty neat, though for a monitoring system it gives me a great deal of information I don't want. Doesn't seem to like monitoring the web servers, either.

Zenoss is probably quite good if you work with SNMP 7 days a week. Otherwise, avoid. The simplest way to set it up involves downloading a pre-packaged virtual machine and running it under VMWare.

PortSensor is another simple monitoring tool, but a very flexible one since you can have it execute custom shell scripts remotely via SSH and process the results using regular expressions. Naturally I'd rather not do any of that, and it doesn't have any particularly significant functionality built in. It's more a sort of monitoring toolkit.

Simple Server Monitor I'm keeping until I find something better; the others have hit the bit bucket.

* Well, that last is due to the alert sound I chose.

Posted by: Pixy Misa at 09:56 PM | Comments (47) | Add Comment | Trackbacks (Suck)

December 26, 2006

Geek

Bum!

MySQL supports large files if your operating system does. So there's no need to worry about your application dropping dead if a particular MyISAM table exceeds 4GB.

Except that the default table pointer size is 32 bits.

And it seems that changing it from 32 to 40 bits slows database writes by about 10%.

Not that I will necessarily be using MyISAM. What I was doing when my table hit 4GB was finding out whether to use MyISAM or InnoDB.

Well, off we go again. About 4500 inserts per second right now (at one record per query, which is far from the fastest method, but is after all what the application will be doing).

Posted by: Pixy Misa at 11:57 AM | Comments (96) | Add Comment | Trackbacks (Suck)

Geek

Blah

Apache and Exim ganged up on me again. I caught it early this time, when it was only 1GB into swap. Load average peaked at over 1000.

Crap.

Posted by: Pixy Misa at 02:20 AM | Comments (27) | Add Comment | Trackbacks (Suck)

<< Page 2 >>

Processing 0.47, elapsed 1.3462 seconds.
49 queries taking 0.9356 seconds, 3046 records returned.
Page size 1803 kb.
Powered by Minx 0.8 beta.