Because of minor problems with the Provincial Election, we weren’t able to truly take “results on the web” out for a ride. Last night’s municipal elections solved that problem.
All election results were served from a single RedHat Linux server, sitting on the Aliant network. The server was running Apache, and was serving static HTML pages that were updated from a database every minute.
Here’s the technical breakdown of how things went, for the 24 hours of November 3, 2003, election day, with the bulk of the traffic happening between 6:30 p.m. and 11:00 p.m.:
- Unique IP addresses served: 4,376
- Total Page Views: 142,100
- Total Hits: 313,465
- Total Bytes Transferred: 1,017 MB
- Average length of user session: 51 minutes
The server generally stood up well, although at the peak of the evening response time got a little slower than I would have liked. I played with various settings for MaxClients in Apache over the course of the evening (and actually recompiled Apache mid-stream, to allow a value greater than 256), and finally settled on 312 as a workable number. Things got hairy when I raised the value about 400, as Apache started to cascade, the load average started to rise, and I had to restart the server. With the setting at 312, response time was reasonable, and we were able to sustain traffic of 30-40 requests per second.
All of the traffic was from the .ca, .com or .net domains, with the exception of one session from the Cayman Islands.
Assuming all of the traffic came from Prince Edward Island households (which is an inaccurate assumption), using Statistics Canada figures on Internet usage in the home (39% of Island households), the number of unique IP addresses we were hit from would mean 23% of Island homes accessed the site. Obviously the real number is different, but it’s an interesting calculation nonetheless.