Comment by Animats

17 hours ago

FCGI is also an orchestration system. It launches more server tasks when the load goes up, shuts them down when the load decreases, and launches new copies of tasks if they crash. It's like single-system Kubernetes.

> It launches more server tasks when the load goes up, shuts them down when the load decreases

In my experience, this isn't a good feature. It sounds nice, but it can often mean everything runs fine while your load is low, but when your load gets high, you spawn more workers and run out of memory. It's much better to have a static number of workers in my experience.

Crash recovery is handy, if needed though.

  • It's useful if you have multiple FCGI programs that handle different kinds of requests. Depending on what's being requested, programs start up and shut down.

    • I had to argue about inetd while poking at AI stuff on my home computer. https://en.wikipedia.org/wiki/Inetd ... yeah, there's better modern equivalents, but it seems like we're coming full circle with lambdas and cgi. The concept of dynamically scaling has been around a looong time in UNIX, and we lost it for a bit with big honking java monolith servers.