In Part 1, we built a (somewhat useless) mochiweb comet application that sent clients a message every 10 seconds. We tuned the Linux kernel, and built a tool to establish a lot of connections in order to test performance and memory usage. We found that it took around 45KB per connection. Part 2 is about [...] [...more]
Part 1 and Part 2 in this series showed how to build a comet application using mochiweb, and how to route messages to connected users. We managed to squeeze application memory down to 8KB per connection. We did ye olde c10k test, and observed what happened with 10,000 connected users. We made graphs. It was [...] [...more]
I started poking around in the ejabberd source code to see what I could learn. I couldn’t find much in the way of high level documentation that talks about how the various bits of ejabberd talk to each other, so I’m starting to piece it together myself. After compiling ejabberd I made a php script [...] [...more]
Please Note: this was written January 2009 – see the comments for updates and additional information. A lot has changed since I wrote this. - RJ Perhaps you’re considering using a dedicated key-value or document store instead of a traditional relational database. Reasons for this might include: You’re suffering from Cloud-computing Mania. You need an [...] [...more]
Last night I gave an “Intro to Erlang” talk at a London Hackspace meetup. I did a quick audience survey first: About 75% did “web programming” (ruby,python,php,etc). Around 30% admitted to regularly using C/C++/Java or desktop/mobile app development. Less than 10% had much experience with functional programming. I wanted to impress upon the audience that [...] [...more]