Project

General

Profile

Bug #1436

when server.max-connections is hit cpu load dramatically increases

Added by Anonymous about 12 years ago. Updated almost 11 years ago.

Status:
Fixed
Priority:
Urgent
Assignee:
Category:
core
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Missing in 1.5.x:

Description

it seems that as soon as server.max-connections is hit lighttpd becomes very busy turning new connections away, easily jumping to 100% cpu load.

this is on linux, observed with several machines

-- w1zzard


Related issues

Has duplicate Bug #577: lighttpd terminally ceases serving connections when server.max-connections state reachedFixedjan

Actions
#1

Updated by Anonymous about 12 years ago

Yes I'm experiencing the same thing.

-- ServerTweak.com

#2

Updated by Anonymous about 12 years ago

Same here, any suggestions?

-- Robert Klikics

#3

Updated by stbuehler over 11 years ago

  • Status changed from New to Assigned
#4

Updated by stbuehler over 11 years ago

  • Target version changed from 1.4.20 to 1.4.21
#5

Updated by manik about 11 years ago

Anonymous wrote:

it seems that as soon as server.max-connections is hit lighttpd becomes very busy turning new connections away, easily jumping to 100% cpu load.

this is on linux, observed with several machines

-- w1zzard

this seems to be an artifact of the following code in network.c

/* accept()s at most 100 connections directly
     *
     * we jump out after 100 to give the waiting connections a chance */
for (loops = 0; loops < 100 && NULL != (con = connection_accept(srv, srv_socket)); loops++) {
handler_t r;
connection_state_machine(srv, con);

in connection_accept, a check is made if the number of server connections have been exceeded.

perhaps a fix here would be to avoid going into that loop at all when

srv->conns->used >= srv->max_conns.

#6

Updated by stbuehler almost 11 years ago

  • Status changed from Assigned to Fixed
  • % Done changed from 0 to 100

Applied in changeset r2387.

Also available in: Atom