Did you know ... Search Documentation:
http_dyn_workers.pl -- Dynamically schedule HTTP workers.
PublicShow source

This module defines hooks into the HTTP framework to dynamically schedule worker threads. Dynamic scheduling relieves us from finding a good value for the size of the HTTP worker pool.

The decision to add a worker follows these rules:

  • If the load average caused by the worker threads exceeds http:max_load, no worker is added.
  • Wait for some time, depending on how close we are to the http:max_workers limit.
    • If the worker is still needed, add it.

The policy depends on three settings:

http:max_workers
The maximum number of workers that will be created. Default is 100.
http:worker_idle_limit
The number of seconds a dynamic worker waits for a new job. If no job arrives in time it terminates. Default is 10 seconds.
http:max_load
Max load average created by the HTTP server, i.e. the amount of CPU time consumed per second. Default is 10.
Source http:schedule_workers(+Dict)[multifile]
Called if there is no immediately free worker to handle the incomming request. The request is forwarded to the thread __http_scheduler as the hook is called in time critical code.