Fwd: [UMN_MAPSERVER-USERS] Thread-safety in mapscript_csharp.dll?

Tamas Szekeres szekerest at GMAIL.COM
Mon Jun 26 11:57:57 EDT 2006


Access to the variables and resources protected by locks takes place
sequentially among the different threads.
We have locks around the parser, PROJ initialization, GDAL
initialization, connection pooling global data, error object ... For
example when parsing the .map file multiple requests will waiting for
each other within the same host process. I think it brings in a
significant performance degradation and kills the scalability :(
Spawning multiple processes for the requests seems to be better this
time if the extra overhead of creating a process is acceptable. This
behaviour may change in the future.

Tamas


2006/6/26, Jeff Dege <jdege at korterra.com>:
>
>
> > -----Original Message-----
> > From: Tamas Szekeres [mailto:szekerest at gmail.com]
> > Sent: Friday, June 23, 2006 5:28 PM
> > To: Jeff Dege
> > Cc: MAPSERVER-USERS at lists.umn.edu
> > Subject: Re: [UMN_MAPSERVER-USERS] Thread-safety in
> > mapscript_csharp.dll?
> >
> > > Are you suggesting that we should protect access to the mapserver
> > > objects within the C# code, using the C# lock statement?  Or are the
> > > locks within the mapscript_csharp.dll sufficient?
> > >
> >
> > Nope. This kind of synchronization can only take place at the
> > unmanaged side when using the IIS ASP.NET application models. The
> > mapserver code should make the necessary work for you.
>
> What kind of impact do these locks have on performance, as the number of
> simultaneous users increases?
>
>



More information about the mapserver-users mailing list