By Jared "Lucky" Kuolt on September 29, 2010
Note: Concurrency, as defined in this article, is the same as it is for The C10k problem: concurrent clients (or sockets).
At Urban Airship we recently published a blog post about scaling beyond 500,000 concurrent socket connections. Hitting these numbers was not a trivial exercise so we’re going to share what we’ve come across during our testing. This guide is specific to Linux and has some information related to Amazon EC2, but it is not EC2-centric. These principles should apply to just about any Linux platform.
For our usage, squeezing out as many possible socket connections per server is valuable. Instead of running 100 servers with 10,000 connections each, we’d rather run 2 servers with 500,000 connections apiece. To do this we made the socket servers pretty much just socket servers. Any communication between the client and server is passed through a queue and processed by a worker. Having less for the socket server to do means less code, cpu-usage, and ram-usage.
Thursday, September 30, 2010
Friday, September 3, 2010
Welcome to Priority Inbox! By automatically separating out your most important messages, Priority Inbox makes it easy for you to read and respond to the messages that matter.
Get through your email faster
Try reading and replying to the messages in the "Important and Unread" section first. Mark anything that requires follow-up with a star, then go through the "Everything Else" section. If you leave Priority Inbox, you can return to it by clicking the link next to Inbox on the side navigation of Gmail.
How it works
Gmail's servers look at several types of information to identify the email that's important to you, including who you email and chat with most, how often you email with these people, and which keywords appear frequently in the emails you read.