Back to newsletter 019 contents | All Javva's articles
Ooh, what a doozy of a title. Found this over at http://www.icir.org/vern/papers/cdc-usenix-sec02/index.html. It's about worms like Code Red taking over internet linked machines. The authors performance tuned the worms to see how fast they could threaten the internet. Yes that's right, I said these guys are performance tuning worms. And they get them real fast indeed "so fast that no human-mediated counter-response is possible." (their emphasis).
Well, I hope that helps you to sleep well at night. Is your livelihood dependent on the internet staying up? Better make some contingency plans then. Whatever though, these guys are just excellent at coming up with titles. They've got "Flash Worms" and "Stealth Worms", and even a "Warhol Worm". Still, someone has to help the spooks prepare for these kinds of attack, so the more we get of these kinds of analyses, the better prepared we'll be. Hopefully.
I like that Software Development mag. They keep coming up with nice articles. The latest one that made me say "Yup" is "Developing your code sense", over at http://www.sdmagazine.com/documents/s=7151/sdmcnf0204e/sdmcnf0204e.htm. In case you can't be bothered to click, here's the best bit:
In fact, [Dave] Thomas said, you can even resort to "rubber-ducking." "I don't know why it works, but it works. You put the rubber duck on top of your monitor. Then, when you're stuck on something, you start explaining what the code does--aloud--to the duck." And before you've finished the explanation, the solution comes to you. You smack your forehead, and politely thank the duck, he said to general laughter.
I've done that so many times - without the duck. Works for performance tuning as well as debugging. And in the absence of a duck or other friendly toy, just talk to the screen. Sure people will think you're mad. That's life.
May 22. Caught Weevil updating his CV. Excellent, I'm looking forward to the leaving party. I've gradually added in further classes to the server profiling, so that I'll get a full spectrum profile. I need to make some significant gains or it'll look like a waste of time.
May 28. It's going well. I'm targeting a 50% speedup. Yes, that means I'm aiming to double the speed of the server. That's an unofficial target of course. The official target will be placed somewhere below what I achieve so that I exceed the target. Placed by me that is. No one gave me a target, so its whatever I set. As long as it looks reasonable, I'll get a pat on the back and my quarterly bonus. Actually, it looks like being quite easy to get a good speedup. There's been a couple of version releases and several patches since I last did a full tune of the server, so lots of junk has crept in. Also, for some reason, the underlying system hasn't been tuned at all. I installed the performance toolkit to the application server, and also tweaked the underlying system after testing it with a tool I got off the web. The system is already running 20% faster, without any code changes.
June 6. It's not a myth. Well not any more. Did you ever hear about the enterprise system which the developers put in pauses so that they could take them out later to make the system faster? Actually, the way I hear it is that they anticipated that as the system scaled up, the load would increase and slow the system down, so they put in configurable sleep statements that slowed the system when they first deployed. Then, when it started getting loaded, they wound down the sleeps. Apparently, they kept the system running at roughly the same performance even after it went to full company-wide release. I always thought this was yet another urban myth. But now I've implemented the myth. Yes, my code tweaks way exceeded my 50% target speedup, so I added in sleep code. That way, next time I come to tune, I can either speedup the system real quick (and look so good), or take my time and doodle. Had to put the sleeps into the monitoring code so that no one else finds them, but that's good, one nice central place.
June 11. Bummer. Weevil had no intention of applying for anything outside. He moved over to QA. Even worse, it means he's going to be breathing down my neck with every patch and release. Hmm, I wonder if there is any way management would make QA a subgroup of the performance focus team?
(Note: all names have been changed to protect the guilty).
Javva The Hutt.
Back to newsletter 019 contents