http://www.perlmonks.org?node_id=532707


in reply to How to decide which implementation to use?

I think implementation here really depends on the use cases for your system.

Thinking of Apache as a kernel and innumerable web browsers as agents, Apache creates a pre-forked server design and assigns each agent request to a single child process. This load balances and implicitly assumes that all child processes are equivalent in capability. A caching proxy server would give priority to the fast cache implementation first, and would only assign a slow main database lookup second.

Without knowing more about your problem, I would recommend prioritizing implementations according to time and space usage, picking the cheapest available inplementation first. If there are to be many implementations sitting at the same URL, arrange for the kernel to spawn a processes like Apache to handle just one agent request per child process and keep listening for others. You will better be able to manage kernel performance if it is the kernel that is managing service requests, not the agents.

-Mark