| « Umberloid / Neon Tetra | The Bug That Needs An Unofficial Name That Consists Of "The" And One Word » |
Behind the Scenes, RocWiki Edition
A couple weeks back, a plan was unleashed to modernize the RocWiki back-end architecture. We stopped following the main Sycamore development awhile back to create a bit of a local fork, which kinda died out. It appears all of the custom stuff (e.g. mapping) got merged back into the main tree some while ago, so we decided to go ahead and just rejoin the trunk.
First order of business was a new server. For simplicity, we went with a Xen-based VPS from Linode so I could keep all my VPSes on one account (and, in the event of trouble, their support works very well for me). The Linux distribution is Ubuntu 8.04 LTS Server Edition, which was the logical choice considering the previous server was running an older Ubuntu.
On top of that, we're running a number of cool technologies that weren't in use previously:
- memcached: Instead of hitting the database directly on every request, elements and some whole pages are stored in memcached for quick retrieval.
- SCGI: The Sycamore server now runs as a (multithreaded!) daemon and is interrogated by Apache over a socket. This means the interpreter, code, and connections to the db and cache is always right there, ready to go.
- PostgreSQL: Now running version 8.3.
Additionally, robots.txt was augmented and a sitemap is now auto-generated every few hours, to ensure search engines can do their duty quickly and efficiently. I also have a little bit of statistical gathering going on to cut down on waste and hopefully provide some information back to the community about what's popular (e.g. Abandoned Subway is the most popular real page!).
Plus the System Info page was expanded slightly. :-)
In general, things are going well -- very few people noticed anything, we've got 60 megabytes of free memory after accounting for buffers and swap (/proc/sys/vm/swappiness is 100, boohay), and we're up-to-date with the official code. Good stuff.
13:35:21 up 7 days, 2 min, 1 user, load average: 0.06, 0.08, 0.08