<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Another option I am currently investigating for the static components
of my maps is tilecache (google it). That should at least take away
some of the load that mapserver rendering the image in memory will eat
up.<br>
<br>
Another option is to combine mapserver with fastcgi. There should be
documentation around.<br>
<br>
Good luck, and indeed as Frank suggests, consider hiring an expert.
Frank will know one or more ;-)<br>
<br>
Frank Warmerdam schreef:
<blockquote cite="mid:473265A8.2030101@pobox.com" type="cite">Bruce
Cheney wrote:
  <br>
  <blockquote type="cite">We have been given a requirement to support
5000 simultaneous users.&nbsp;&nbsp; What we are finding is that MapServer bogs
down around 400 simultaneous users on a test machine.&nbsp; It looks like it
is likely slowing because of the threading issue.&nbsp; We haven't tested on
a production machine but are estimating that it should support double
what are test machine could handle (double the processor and RAM).&nbsp; So
at least 800 simultaneous users.&nbsp; Divide that out with the 5000 and we
need a minimum of 6-7 web servers supporting MapServer.&nbsp; We will
certainly scale this as is needed but I do need some idea going in as
to what is going to be required.
    <br>
  </blockquote>
  <br>
Bruce,
  <br>
  <br>
I'm curious how many map requests per minute you expect 800
simultaneous
  <br>
users to generate.
  <br>
  <br>
  <blockquote type="cite">Does this sound like results that others
expect or is this quantity above what others have tested?&nbsp; Also Does
anyone know of a solution in the works to run make mapserver thread
safe and/or up the overall speed?&nbsp; I am not complaining about the speed
just wondering what is in the works.
    <br>
  </blockquote>
  <br>
In various aspects MapServer is already thread safe though there are
  <br>
also known "unsafe" components, and some components are wrapped by
  <br>
big locks that significantly reduce the value of multiple threads.
  <br>
Progress occurs by fits and starts, largely based on support from user
  <br>
organizations depending on multi-threading.&nbsp; For instance, in 5.0 I
  <br>
implement locking around OGR for a client of mine in Australia.
  <br>
  <br>
(This is a subtle way of suggesting you hire someone to make this
  <br>
happen if it is what you want!)
  <br>
  <br>
All this aside, by default MapServer is *massively multi-threaded*.
  <br>
I say this since the default operation is to start a new cgi instance
  <br>
for each request - each is essentially an independent thread.
  <br>
  <br>
Of course, the downside of whole-process cgi style multithreading is
  <br>
that very little context is preserved from request to request.&nbsp; Map
  <br>
files, data file headers, etc all need to be reparsed for each request.
  <br>
My point here is that you need to think carefully about the application
  <br>
flow to take much advantage of multiple threading within a single
process.
  <br>
  <br>
Also, if I may channel Ed, if you wanted to squeeze more performance
out
  <br>
of mapserver, you really need to start by figuring out what it is
spending
  <br>
it's time doing.&nbsp; Where is it spending it's time?
  <br>
&nbsp;o waiting for disk?&nbsp; (perhaps you are reading more data than you
need?)
  <br>
&nbsp;o rendering (perhaps your data is overdense, or you are using
expensive
  <br>
&nbsp;&nbsp; rendering options?)
  <br>
&nbsp;o parsing mapfiles (perhaps you mapfile has too many unused layers?)
  <br>
etc.
  <br>
  <br>
Best regards,
  <br>
</blockquote>
<br>
<br>
<div class="moz-signature">-- <br>
<title>3DSite</title>
<meta http-equiv="Content-Type" content="text/html; ">
<style type="text/css">
<!--
body {
        background-color: #FFFFFF;
        margin-left: 5px;
        margin-top: 5px;
        margin-right: 5px;
        margin-bottom: 5px;
}
body,td,th {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        color: #333333;
}
.style4 {font-size: 9px; }
.style5 {font-size: 9px; color: #CCCCCC; }
-->
</style>
<meta content="MSHTML 6.00.2900.2912" name="GENERATOR">
<br>
<table border="0" cellpadding="0" cellspacing="0" width="400">
  <tbody>
    <tr>
      <td rowspan="3" align="left" height="0" valign="bottom" width="15"><br>
      </td>
      <td colspan="2" align="left" height="78" valign="top" width="0">
      <p class="style4">Milo van der Linden
      <br>
      <a href="skype:milovanderlinden?add">skype: milovanderlinden</a><br>
      <a href="mailto:mlinden@zeelandnet.nl">mlinden@zeelandnet.nl</a><br>
      <a href="mailto:milovanderlinden@gmail.com">milovanderlinden@gmail.com</a><br>
      <a href="mailto:milo@3dsite.nl">milo@3dsite.nl</a><br>
      <a href="http://www.3dsite.nl">http://www.3dsite.nl</a><br>
      </p>
      </td>
      <td rowspan="3" align="left" height="0" valign="top" width="15">&nbsp;</td>
      <td valign="top" width="300">
      <p class="style5"><span lang="NL">De informatie in dit bericht
reflecteert mijn persoonlijke mening en niet die van een bedrijf of
instantie. Aan de informatie kunnen geen rechten worden ontleend.
Indien dit bericht onderdeel is van een forum, mailing-list of
community dan gelden automatisch de bij het betreffende medium
behorende voorwaarden.</span>
      <span lang="EN">The information in this message reflects my
personal opinion and not that of a company or public body. All rights
reserved.If this message is contained in a mailing-list or community,
the rights on the medium are automatically adapted.</span></p>
      </td>
    </tr>
  </tbody>
</table>
</div>
</body>
</html>