Nick Kew wrote:

Jan Kratochvil wrote:

In what sense low-cost?

Apache's high startup cost is self-reinforcing.  We know it's a
once-only thing, so we have every module do expensive things at
startup rather than per-request.  I don't see how inetd would
affect that.  The only thing you'd save is the spawning of
children, which you already noted ...

Funny enough, the case where I'd think that partial restarts would come in handy would be to be able to change configuration on one virtual host on a production system without bringing them all down.

Practically, it isn't a big issue: I've run systems in the 10-50 virtual host range, and startup time seems to be a few seconds. Our apache is basically stateless, so probably one person has to reload and a few people see a transient broken image: no apps screw up. We add a new virtual host or make a config change maybe once or twice a week, so it's not terrible.

I wonder what mass hosting places with 1000's of hosts do, but I guess they use dynamic methods of implementing vhosts, batch config file changes, and are a little more tolerant of downtime.

Contrast this the ColdFusion MX server, which back ends one Apache system I look after. It runs very well once it's up, but startup takes about 30 seconds. Internal state kept on the server has two consequences: we have to restart it often when we make configuration changes in an app or after an app transitions to a bad state, also a restart breaks sessions, seriously inconveniencing users.

I always laugh when people tell me that web apps need to keep state in RAM in order to be scalable...

Reply via email to