Project

General

Profile

Actions

Bug #1436

closed

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

Added by Anonymous about 17 years ago. Updated almost 16 years ago.

Status:
Fixed
Priority:
Urgent
Category:
core
Target version:
ASK QUESTIONS IN Forums:

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 1 (0 open1 closed)

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

Updated by Anonymous about 17 years ago

Yes I'm experiencing the same thing.

-- ServerTweak.com

Actions #2

Updated by Anonymous about 17 years ago

Same here, any suggestions?

-- Robert Klikics

Actions #3

Updated by stbuehler about 16 years ago

  • Status changed from New to Assigned
Actions #4

Updated by stbuehler about 16 years ago

  • Target version changed from 1.4.20 to 1.4.21
Actions #5

Updated by manik about 16 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.

Actions #6

Updated by stbuehler almost 16 years ago

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

Applied in changeset r2387.

Actions

Also available in: Atom