[mapserver-users] Re: FW: [Manifold] Map Server Docs

Dimitri Rotow dar at manifold.net
Sun Sep 16 19:51:56 EDT 2001


>
> Forgive the brief excerpt:
>
> "On the other hand, "performance" is something of a canard since
> virtually no
> map servers have any significant traffic.  For the most part the
> distribution of map servers on the web is lots of niche sites that few
> people visit.  This is a better argument in favor of CGI than the one
> you
> made."
>
> As far as I know, the busiest mapping site on the entire Web is
> MapQuest.  I wonder whether they chose that nasty, slow,
> poorly-performing CGI architecture or not <g>?
>

Ed,

If they use CGI, they might have chosen to use it for other reasons despite
the performance hit compared to ASP.

My letter also included the following: "Microsoft ASP in itself is obviously
a higher performance environment than CGI (although, of course, it has
tradeoffs in other dimensions)."  Performance is just one factor to be
considered when choosing a dynamic web page technology.

If you are familiar with the workings of web servers you know that spawning
a separate process for each request (CGI) is an intrinsically lower
performance approach than the in-process model used by ASP and COM. [For
those Windows readers unfamiliar with CGI, for *each* request it is from a
process perspective akin to opening a DOS box in 2000, starting a script,
retrieving the answer and closing the box, as opposed to simply executing
within the same DLL already sitting in RAM].

There are, of course, other considerations that may cause people to use CGI
rather than ASP. CGI has been around a lot longer so there is lots of
inertia behind CGI.  For many people it is easier to start coding an
application using CGI and scripts, so it is understandable why many
applications get prototyped using CGI and grow from there.  After an
application grows to a certain point it's a lot easier to toss more hardware
at disappointing performance than to re-code into a different environment.
Finally, ASP is a purely Microsoft technology and so is not available to
people who (for whatever reasons) choose Linux.   Conversely, there are many
reasons why someone might choose ASP instead of CGI other than the
performance advantage of ASP. It's all a matter of balance.

I have no idea whether MapQuest uses CGI or Linux or what their business
reasons were for doing so.  Since they are a business, I presume that
ultimately it was business reasons that led them to the decisions they
reached.  However, to suggest that "If MapQuest uses CGI than therefore CGI
is higher performance than ASP" is silly.   It could well be that MapQuest
wanted to avoid paying for Windows licenses on 1000 servers.  There may be a
lesson in that for people who operate large server farms, but that is not
most map server operators.

If we are to relate this back to map servers in general, it is important to
observe that *most* map server applications on the web are characterized by
very small sites accessed by very few people. A few sites (like MapQuest)
get millions of hits and the most of the rest of the sites get hundreds of
hits. To my mind, that is a better argument for CGI and Linux than MapQuest,
the reason being that in a classic, low-budget, low volume, code-your-own
environment the idea of accessible, free, ad-hoc tools like Linux, Apache,
CGI and PERL has a lot of appeal.  In such cases getting started easily and
free is much more important than the performance penalty of launching a few
more processes to service each hit.

However, for a fully automated, commercial, shrink-wrapped package solution
aimed at pure Microsoft environments there is an entirely different impetus.
If you know you are going to be exclusively in a Microsoft environment it
makes sense to leverage all the benefits of that environment.  In that case
the package will use ASP for the obvious benefits it brings.

So, I mean no disrespect to CGI or to the Minnesota MapServer.  Both are
certainly a fine way to go if you have the technical talent and can absorb
the labor costs of configuration.  But within the Microsoft Windows world
(indisputably a first choice for many) there is absolutely no doubt that few
professionals would choose a CGI based solution when they could use ASP, for
performance reasons alone.

Since I don't read the mapserver-users list I don't know if this thread is
appropriate content for posts and I don't feel comfortable continuing to
"cc" the list just because respondants did so.  I would ask that any writers
interested in corresponding further on this write to me directly.

Cheers,

Dimitri












More information about the mapserver-users mailing list