If Hitler invaded Hell, I would give a favourable reference to the Devil.
Wednesday, July 30
I hate everyone. I'm going to bed.
(As I hinted in my earlier post, I'm being kicked out of New Pixy Central, because the place is being sold. Again. I promptly got on the internet and looked for a new place to live. There's nothing remotely suitable in the area. The block I live on must have a hundred town houses - I live in a complex of 18, and there's similar complexes each side and an even bigger one behind, and more down the road - and not one of them is available for lease at the moment. I did find two brand new townhouses, both larger, nicer, and cheaper than my current place. Unfortunately, one's in Bowral and the other's in Ringwood. Bah.)
(Actually, I'd happily move to Bowral, except they only have Telstra for internet. Telstra. Fuck. The number one go-to telecommunications company, if you're looking for absurd prices and obsolete technology. I could get iiNet or Exetel on a Telstra line. It'd be slow, but significantly less sucky than Telstra themselves. Sigh.)
Posted by: Pixy Misa at
10:06 PM
| Comments (5)
| Add Comment
| Trackbacks (Suck)
Post contains 183 words, total size 1 kb.
I have 1.2 working with CherryPy 3.1 on the test system; porting to the new release was pretty painless.
Still testing and ironing out a few bugs, but the release is coming soon.
Posted by: Pixy Misa at
12:18 PM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 36 words, total size 1 kb.
Tuesday, July 29
It's never a good sign when your landlord suddenly starts taking an interest in maintenance.
Posted by: Pixy Misa at
03:07 PM
| Comments (2)
| Add Comment
| Trackbacks (Suck)
Post contains 22 words, total size 1 kb.
Someone who knows what they're doing (i.e. not any of the hundreds of PC hardware review sites) got their hands on one of those cheap new OCZ Core Series SSDs and tested it.
The results are mixed.
Sequential reads are excellent - 126MB/s average.
Sequential writes are good - 46MB/s average.
Random reads are superb - over 2000 IOPS for 8K pages (a regular disk drive gives you about 100).
Random writes are appalling - 4 IOPS.
That is very very strange. Random writes are slow on flash because of the block erase structure, but 250ms? That's worse than slow, that's very slow indeed.
I think I'll still get mine - I have one on order, but only small quantities of the drives have reached Australia and mine is still somewhere in the Pacific - and independently verify those results. And then beat the SSD market over the head with them. (Or not, if things turn out different.)
Update: OCZ have published a new and more detailed datasheet, which shows benchmark results of 2500 IOPS for random reads and 500 IOPS for random writes. 500 IOPS is fine; that's the equivalent performance of a 4-disk RAID-0 array (or two disks if you're using expensive SAS drives) on one small cheap module.
A 15,000 RPM SAS 146GB drive is about the same price as the OCZ 64GB SSD, but to get the same performance and reliability you'd need 4 of them (RAID-10), so if the SSD can deliver, it's still a win. (And that's write performance - to match the read performance you'd need a 10-disk SAS array, or 20 SATA drives.)
Posted by: Pixy Misa at
12:48 AM
| Comments (2)
| Add Comment
| Trackbacks (Suck)
Post contains 272 words, total size 2 kb.
Saturday, July 26
3 internal drives.
3 external drives.
5 network drives.
1 optical drive.
2 virtual optical drives.
1 iPod.
4 flash card slots.
1 hot-swap SATA dock.
I'm rapidly running out of letters here!
I wonder if installing the Japanese language pack will help...
I have to say, the hot-swap SATA dock is pretty neat. (It's one of these.) Forget burning DVDs for backup. I have about a dozen old SATA drives lying around. Drop one in the docking bay, drag your files across, and just wander off while it copies. Now if only there were a decent rsync for Windows.
Posted by: Pixy Misa at
01:17 PM
| Comments (1)
| Add Comment
| Trackbacks (Suck)
Post contains 103 words, total size 1 kb.
Friday, July 25
Capitol Square.
Ten minute's walk from my office (if that), the old building has been redeveloped and now contains 21 computer stores. I wondered why all the small computer stores near my office had closed down - they haven't, they've just moved.
And a Japanese restaurant, a Japanese computer game store, and a gashapon arcade.
I'll have to wander over there next week.
Posted by: Pixy Misa at
11:38 PM
| Comments (2)
| Add Comment
| Trackbacks (Suck)
Post contains 68 words, total size 1 kb.
Wednesday, July 23
An Instalanche at mu.nu is nothing new; we've coped with many a 'lanche over the years.
But an Instalanche combined with AVG 8's accidental DDoS and CPanel's screwed up Apache builder was too much for us. The server was coping just fine, but you had to stand in line waiting for a connection.
The cure? Smack keepalive over the head, hard. What was happening was that random Instapundit reader comes along and sees link to Protein Wisdom. Follows link. AVG 8 says Aha! A web page! Potential danger! And follows twenty links from that page in parallel.
And, more often than not, grabs 20 links from the monthly archive listing, so it hits Protein Wisdom 20 more times. And then the keepalive timeout sits there holding the connection open, so that a single visitor to the blog is using up 300MB of precious server RAM.
I tried just increasing the number of available threads, but Apache has now been compiled with a hard limit of 256. This wasn't true before; it's a new twist the friendly idiots at CPanel seem to have thrown into the mix.
So, instead, I aggressively de-optomised keepalive. The timeout is now 2 seconds, and there's a maximum of 5 requests before it drops the connection. That seems to have brought us sufficient breathing space until I can get some sites spun off to Sakura.
Posted by: Pixy Misa at
12:48 AM
| Comments (5)
| Add Comment
| Trackbacks (Suck)
Post contains 232 words, total size 2 kb.
Tuesday, July 22
I ordered a 64GB SSD today - an OCZ Core Series drive, which is substantially cheaper than what has come before. Roughly in price parity with SD cards, but much faster - the quoted speeds are 120MB/sec for reads and 80MB/sec for writes.
What I'm really interested in, though, is random write performance, not sequential writes. Assuming that the internal erase block size is 64KB, and that writing random full blocks is no different than writing sequential full blocks (and for flash memory, there shouldn't be any difference), 80MB/sec represents 1250 IOPS. That's equal to a 10- or 12- drive array of standard 7200RPM SATA drives.
If it delivers on that, not only will I be very happy, I'll be ordering a few more for the servers.
Posted by: Pixy Misa at
10:31 PM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 131 words, total size 1 kb.
Monday, July 21
Just finished wiring up the CDN functions.
Look for it - and the rest of 1.2* - next week.
* May not actually include all of 1.2. Content may settle in shipping.
Posted by: Pixy Misa at
12:19 PM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 38 words, total size 1 kb.
Hello Pixy Misa, you are logged in to Minx.Before an evening's hackery, it looked more like:
87kb generated in CPU 0.07, elapsed 0.0883 seconds.
67 queries taking 0.0331 seconds, 236 records returned.
Powered by Minx 1.2b1.
Hello Pixy Misa, you are logged in to Minx.All in all, a worthwhile effort, methinks.
87kb generated in CPU 0.08, elapsed 0.2439 seconds.
92 queries taking 0.1803 seconds, 261 records returned.
Powered by Minx 1.2a12.
But optimising queries for MySQL really is a black art.
Actually, come to think of it, I didn't set up those new queries so they can be cached. Let me fix that as well...
Okay. A little less elegant, but 10% faster:
Hello Pixy Misa, you are logged in to Minx.Every microsecond counts!
87kb generated in CPU 0.06, elapsed 0.0809 seconds.
67 queries taking 0.0256 seconds, 236 records returned.
Powered by Minx 1.2b1.
Overall, the Minx 1.2 beta is about 5% faster than Minx 1.1. The engine is 10% faster, but the queries are 20% slower. (Though I do have one more optimisation to throw in there.)
Given all the extra baggage it's carrying around - the template language has grown from 462 commands to 1634, and the codebase has grown by 40% - that's not too shabby.
Hello Pixy Misa, you are logged in to Minx.I do have to remember to make two minor but counter-intuitive index changes before I roll out the new release. A strange beast is MySQL.
89kb generated in CPU 0.07, elapsed 0.0843 seconds.
62 queries taking 0.021 seconds, 233 records returned.
Powered by Minx 1.1.1-aoi.
Posted by: Pixy Misa at
12:48 AM
| Comments (2)
| Add Comment
| Trackbacks (Suck)
Post contains 263 words, total size 2 kb.
57 queries taking 0.1898 seconds, 381 records returned.
Powered by Minx 1.1.6c-pink.