1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma
Evan Phoenix 482ea5a24a Meter calling accept(2) with available pool capacity (#1278)
* Meter calling accept(2) with available pool capacity

Talking through this with Nate and Richard, we realized that accepting
new clients without taking account for the available capacity of the
thread pool doesn't improve throughput, it only hurts it in the case of
multiple workers. If a worker pauses (or starts up before other
workers), then a worker can accidentally suck up a high number of
clients and leave unused capacity inside the other workers.

This change will smooth out this issue, with a minor penalty to maximum
throughput.

* Rewrite the conditional to be less confusing
2017-04-28 10:42:09 -07:00
..
app Continue API cleanup, preparing for 3.0 2016-02-06 19:00:29 -08:00
plugin Only write if file doesn't exist 2017-03-09 15:19:50 -05:00
rack Compare host and server name only once per call. 2016-09-13 12:23:00 +02:00
accept_nonblock.rb Vastly improve IO perf on 1.9.3 2012-08-11 15:09:09 -07:00
binder.rb Fix a typo (#1192) 2017-02-09 07:32:50 -07:00
cli.rb Split out config into explicit user and file parts 2017-03-09 11:38:26 -06:00
client.rb Move sending except into client body ready. Fixes #1210 2017-02-28 09:08:09 -08:00
cluster.rb Move TTOU processing (#1165) 2016-12-21 12:48:39 -07:00
commonlogger.rb Merge pull request #1081 from frodsan/fix-log-hijacking 2016-09-08 14:44:34 -07:00
compat.rb Remove support for 1.8.7 and 1.9.2. 2016-09-01 23:58:15 +02:00
configuration.rb Prefer yield instead of block.call 2017-03-09 11:38:27 -06:00
const.rb Bump to 3.8.2 2017-04-13 17:11:51 -07:00
control_cli.rb [close #1238] Don't call non-existent method 2017-03-10 10:30:27 -06:00
convenient.rb Split out config into explicit user and file parts 2017-03-09 11:38:26 -06:00
daemon_ext.rb Continue API cleanup, preparing for 3.0 2016-02-06 19:00:29 -08:00
delegation.rb Standardize "block" usage 2013-07-03 09:25:48 -05:00
detect.rb Use Puma env detection helpers in tests. (#1156) 2016-11-22 17:27:30 -07:00
dsl.rb Method Docs 2017-03-09 11:38:27 -06:00
events.rb Use hooks for on_booted event. (#1160) 2016-11-24 11:00:51 -07:00
io_buffer.rb Use Puma#jruby? helper. (#1159) 2016-11-23 07:38:10 -07:00
java_io_buffer.rb Conditionalize the jruby IOBuffer 2012-08-11 22:14:52 -07:00
jruby_restart.rb Use constant rather than string 2016-03-05 16:28:49 -08:00
launcher.rb restore environment to original state before restarting 2017-04-10 12:05:33 -07:00
minissl.rb Provide write as <<. Fixes #1089 2016-09-17 14:19:40 -07:00
null_io.rb Add eof? method to NullIO? (#1169) 2016-12-12 09:58:36 -07:00
plugin.rb Execute background hooks after daemonizing. Fixes #925 2016-07-24 16:00:57 -07:00
rack_default.rb Default Rack handler helper 2013-02-09 20:27:05 -08:00
reactor.rb Silence connection errors in the reactor. Fixes #959 2016-04-22 16:55:06 -07:00
runner.rb Raise error when stdout or stderr is not writable 2016-12-15 01:45:10 +09:00
server.rb Meter calling accept(2) with available pool capacity (#1278) 2017-04-28 10:42:09 -07:00
single.rb Move puma.rb to just autoloads. Fixes #1063 2016-09-05 11:29:16 -07:00
state_file.rb Move require 'yaml' to state_file.rb 2016-02-21 02:01:37 -03:00
tcp_logger.rb Fix TCPLogger log error in tcp cluster mode. 2016-06-06 21:18:28 +08:00
thread_pool.rb Meter calling accept(2) with available pool capacity (#1278) 2017-04-28 10:42:09 -07:00
util.rb Remove support for 1.8.7 and 1.9.2. 2016-09-01 23:58:15 +02:00