Ecosystem: Self-Service, Performance, and More

Well, things may have seemed a bit quiet around here lately, but trust me: it’s been busy behind the scenes!
Over the past five weeks, I’ve put an intense focus on improving the stability, performance, and maintainability of the Ecosystem. And I’m happy to say that the heavy lifting is just about done.
Here’s the scoop:
Self-Service
The self-service interface has now been completely reworked and is fully operational. You can now request a change to your blog’s URL; request that two blogs be merged together; or for a blog to be removed entirely from the Ecosystem. It all starts on your blog’s details page: look for a new link right up near the top labelled ‘Request a change to this blog’. The prompts will lead you through the process, and output a snippet of code which, when placed on your blog’s template, will convey the change to the Ecosystem.
Why not just have the change happen online? Security. By requiring that all changes be initiated by code within a blog, I can assure that only the owner of a blog can actually initiate a change. That prevents abuse, but still allows me to automate the process. And that means much faster processing of requests.
For the next few weeks, I will still be manually reviewing and approving changes to ensure that all the functionality is working properly, so expect a few days processing time. But after that I’ll flip the code to fully automated, and the turnaround will be immediate, with results being displayed after the next nightly scan.
Performance & Stability
In addition to the usual tweaks here and there, I’ve implemented two changes which I believe have provided significant and noticeable performance improvements.
First, I’ve implemented gzip compression on all pages. I have to say, this was about the easiest performance fix I’ve ever seen — I’d recommend that any blogger worried about their bandwidth bill or site performance go ahead and do it. If you want to give it a try, it literally involves just adding a single line of code: check out Scriptygoddess’ instructions
Secondly, I’ve turned on query caching in the MySQL database. This is also huge: it means that the most commonly executed queries (pulling up Glenn’s statistics, for instance) are now cached and their access time is much faster.
The only not-so-good news is that sadly, I have still not been able to fix the mysterious exploding apache thread issue. But, I have developed a cron job which checks to see if a thread has gone rogue every minute, and if so, kills it off. So while the problem isn’t fixed, the impact is dramatically reduced. (And of course, I’m still way open to suggestions if you have ideas how to solve the root cause).
E-mailed Change Requests
I have made a significant dent in the long queue of e-mailed requests for Ecosystem changes. I’m now down to “only” a little less than a hundred to go. I will continue to work the queue down to zero, but if you have sent a request and haven’t heard back from me, you might try the self-service interface, as it is likely that you can accomplish whatever it was you were asking that way. Otherwise, patience, and I will get to you soon.
Spring Cleaning in January
In addition to the e-mailed requests, I’ve developed a number of scripts which have allowed me to hunt down blogs which are duplicates, idle, or simply defunct. Over the past weeks I’ve cleaned out a rather large number which fell into one or another of those categories.
Going forward, I will be tracking blogs that go ‘idle’. Blogs that have been idle (absolutely no updates at all) for 30 days will be suspended — which means they won’t show up any more, but their data won’t actually be lost. If your blog is suspended and you were just taking a break and are back, just drop me a line and I’ll re-activate it.
What this also means is that if you have moved your blog to a new URL and are no longer updating the old one, you can also just wait: the old blog entry will automagically disappear after 30 days.
Next Steps
The good news is, now that I’ve made progress on the basic blocking-and-tackling of stabilizing the Ecosystem, I can turn my energies back to the fun stuff: developing new functionality for the Ecosystem, and oh, yeah: blogging!
Stick around; I certainly will be…