Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GET8DML97LCWDC1UDL31CF7Q; expires=Mon, 16 Dec 2019 00:00:00 GMT; path=/; DMI News

DMI News

Previous Entry.. Next Entry..

Two down, about 12 to go

July 03, 2009 07:08

Two servers have been ... more or less.. completed. The blockserver and the messageserver are now fully in operation. Neither of these means a great deal to you, the average user, and chances are good you won't notice most of the changes. But I'll go over some of the more obvious ones.

First off, messages are now a bit more useful. The message box will display the last several messages you've receieved AND sent recently. Yes, now you can see the message that you sent after you type it. It's truely revolutionary programming like this that keeps us on top of the game. Yeah. Message boxes on ALL pages that have them will be updated at the same time, so there's no longer any worry about you being on the wrong page when a message is received, or accidently leaving a page at the wrong time.

There is now multi-tierd abuse detection. Whereas before, it was a pretty black and white approach to the situation. You accidently let slip a mild cussword, and you got blocked instantly. However, a lot of other abusive behavior was missed because the filter couldn't differentiate between abuse and normal activity, and had to err with the assumption that it was ok. Now, there are several levels of moderation based on the severity and potential that a specific behavior is abusive, and human intervention will be required to moderate any potentially abusive behavior before it becomes visible to the public.

As for advantages that you don't notice directly, prior to implementation of these servers, both implementations required the sequential searching of flat data files. As they grew (especially the block files), this resulted in a non-trivial amount of time being spent each time a page was loaded, just checking these files. Now they use a combination of binary searches and hash tables to order the various data, and despite the requirement of a bit of networking overhead, it has signficiantly cut down on the amount of time each process requires to completely execute. As more servers are converted over to the new system, this will continue to improve.

The next server I'll be converting will be the cookieserver. This one will be a bit more challenging, at least as far as effiency goes, as there are currently already over 5.3 million records, and new records are added to the database everytime a new user shows up on the site. Under a decent load, this could potentially be several times per second. I can't exactly run a new qsort on 5 million records everytime someone loads the page. Stay tuned.