This patch set updates bitcoin’s RPC server to use boost::asio’s async_read, _write, etc instead of their non-asynchronous versions.
The server still exists as a single separate thread, but the async calls should greatly improve performance under high load. The next step in robustifying the RPC server is to create a pool of threads for the RPC server, each of which handle a number of asynchronously reading and writing connections.