/[Apache-SVN]
ViewVC logotype

Revision 920664


Jump to revision: Previous Next
Author: dreiss
Date: Tue Mar 9 05:19:25 2010 UTC (14 years, 8 months ago)
Changed paths: 4
Log Message:
cpp: TNonBlockingServer overload handling and optimizations

- Establish a mechanism for TNonBlockingServer to handle overloads by
  limiting the number of connections accepted or in-process.

- Provide a framework for further work in handling server overloads.

- Limit memory consumption of connection object pool.

- Drop connections when overloaded.

- Add overload-handling behavior allowing pending tasks to be dropped
  from the front of the task queue (short of the ability to terminate
  running tasks, these are the oldest tasks in the system and thus the
  most likely to be beyond their freshness date).  This reduces the
  chance of spending valuable CPU time processing a request that the
  client has already timed out.

- Uses a single persistent pipe() to communicate task completion instead
  of constructing and monitoring a new socketpair() for every task in
  the system.

Changed paths

Path Details
Directoryincubator/thrift/trunk/lib/cpp/src/concurrency/ThreadManager.cpp modified , text changed
Directoryincubator/thrift/trunk/lib/cpp/src/concurrency/ThreadManager.h modified , text changed
Directoryincubator/thrift/trunk/lib/cpp/src/server/TNonblockingServer.cpp modified , text changed
Directoryincubator/thrift/trunk/lib/cpp/src/server/TNonblockingServer.h modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26