> A typical web application does a query and shows some results. This
typically takes a second or less.

This is probably a bit of an oversimplification ... web applications are
not simply front-ends for database management, or information browsers.
Ideally, yes - there are some query parameters and a search is done. The
recipe, picture, calendar, etc. is pulled and displayed. This of course
requires that the data be readily available in its "display" form. Look
at travel sites (Orbitz) - they throw up a five or ten second splash
screen and limit your other requests while they are gathering
information.

I mention this because we are in a similar situation - a fairly small
number web requests, each requiring an extensive amount of computation
to provide a result. We *do* cache this end result, so that most of the
time a single query will bring up the desired page. However, data is
shifting and we cannot cache everything ahead of time. Thus, an
un-cached request will come in and consume the server for 10-15 seconds.
Not bad. However, when ten of these requests are suddenly fighting for
resources within the same web process, this causes problems.

In the end, the single 4D language thread is a bottleneck. You can
definitely help out the situation: Using multiple RUNTIME instances was
a good idea. So is using an Apache server as a reverse proxy to serve
static pages. This takes some of the load off of 4D so that it can
concentrate on "application" pages.

- Clayton 

_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/

Reply via email to