Skip to content

Commit f70aee0

Browse files
mcollinatargos
authored andcommitted
http: set lifo as the default scheduling strategy in Agent
PR-URL: #36685 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com>
1 parent 866e324 commit f70aee0

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

doc/api/http.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ http.get({
113113
<!-- YAML
114114
added: v0.3.4
115115
changes:
116+
- version: REPLACEME
117+
pr-url: https://github.com/nodejs/node/pull/36685
118+
description: Change the default scheduling from 'fifo' to 'lifo'.
116119
- version: v14.5.0
117120
pr-url: https://github.com/nodejs/node/pull/33617
118121
description: Add `maxTotalSockets` option to agent constructor.
@@ -157,7 +160,7 @@ changes:
157160
In case of a high rate of request per second,
158161
the `'fifo'` scheduling will maximize the number of open sockets,
159162
while the `'lifo'` scheduling will keep it as low as possible.
160-
**Default:** `'fifo'`.
163+
**Default:** `'lifo'`.
161164
* `timeout` {number} Socket timeout in milliseconds.
162165
This will set the timeout when the socket is created.
163166

lib/_http_agent.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ function Agent(options) {
9494
this.keepAlive = this.options.keepAlive || false;
9595
this.maxSockets = this.options.maxSockets || Agent.defaultMaxSockets;
9696
this.maxFreeSockets = this.options.maxFreeSockets || 256;
97-
this.scheduling = this.options.scheduling || 'fifo';
97+
this.scheduling = this.options.scheduling || 'lifo';
9898
this.maxTotalSockets = this.options.maxTotalSockets;
9999
this.totalSocketCount = 0;
100100

test/parallel/test-http-agent-scheduling.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ function defaultTest() {
5656

5757
bulkRequest(url, agent, (ports) => {
5858
makeRequest(url, agent, (port) => {
59-
assert.strictEqual(ports[0], port);
59+
assert.strictEqual(ports[ports.length - 1], port);
6060
makeRequest(url, agent, (port) => {
61-
assert.strictEqual(ports[1], port);
61+
assert.strictEqual(ports[ports.length - 1], port);
6262
makeRequest(url, agent, (port) => {
63-
assert.strictEqual(ports[2], port);
63+
assert.strictEqual(ports[ports.length - 1], port);
6464
server.close();
6565
agent.destroy();
6666
});

0 commit comments

Comments
 (0)