Parallelizing calls to msDrawLayer()

Daniel Morissette dmorissette at MAPGEARS.COM
Mon Oct 15 09:42:16 EDT 2007

David Fuhry wrote:
> Steve,
> Stephen Woodbridge wrote:
>> David,
>> I think the point that you are perhaps missing is that in a production 
>> environment, mapserver is already multithreaded in macro sense. I 
>> typically have 5-10 mapserver instances running at any given moment. 
>> These are all fetching data, rendering images and spool them back to 
>> the clients. Any process that is blocked by disk IO is allowing some 
>> other process to be rendering, spooling or whatever. Since IO is the 
>> bottle neck and in fact disk IO there is little you can do to 
>> mapserver to improve that.
> I usually call that multiprocess, since there are multiple mapserv 
> processes running.  But yes, if every core in your system is always 
> saturated with CPU work, and if each of your disks always has a pending 
> request, then multithreading will not help you.

I agree with Steve's comment (and Paul and Frank's earlier comments): my 
experience is that when you get to the point where you need to care 
about performance, you typically have multiple mapserver processes 
running at any given time, keeping all your processors/cores busy, and I 
would not expect multithreading of a single request to bring much value 
in that kind of situation.

Daniel Morissette

More information about the mapserver-dev mailing list