Andreas J. Koenig wrote:
On 20 Dec 2005 16:21:42 -0800, merlyn@stonehenge.com (Randal L. Schwartz) said:
> Are you already using a reverse-proxy? Make sure the front lightweight
> servers *do* use cache and *don't* use keep-alive to the backend...
> your heavy backend will spit the entire response, and go free to service
> the next request... your thin front-end will then deliver that response
> slowly as needed.
I should not have mentioned that the customers are slow as well.
Currently our main concern is that our processes have to wait for
several data sources, then compute the answer and that our valuable
memory is wasted during the wait.
That is a very different issue, and one that may not be solved by
fooling around with the front end (and I wonder why you brought
continuations/asynchronous handling into it). You need to find your
bottleneck, fix it, and then see if the performance is acceptable at
that point. If your bottleneck is in generating results, rather than
serving them, you need to start there. In particular, you need to find
out if you are IO bound or CPU bound before you even begin to think
about fixing things (as that is easy to discover)- it's generally wise
to build efficient systems, but it makes no sense to optimize things
that aren't your bottleneck when you are actually having problems
serving your traffic in a production system. At least, that is my judgement.
T