axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Uthaiyashankar <shan...@wso2.com>
Subject Re: Using Apache2 global mutex
Date Wed, 23 Jul 2008 04:02:52 GMT

> Hi devs,
>
> Suppose  two requests come to Axis2/C sequentially. Say the first 
> request is served by one apache process and the next request is served 
> by another process. Then problem is you cannot access the previous 
> requests configuration context from your next request because each 
> process has it's own configuration context. We recently solved this 
> problem using shared memory. But as should be expected this is 
> extremely inefficient.

Yes, it is about 10 times slower than non-shared memory implementation.

>
> The other and more effiecient solution is using a database that could 
> be shared among your processes. Sandesha2/C uses this approach. 

We have to test the performance of this to decide whether it is worth
doing. I guess the performance will be higher than shared memory
implementation. Only problem is how to solve concurrency issue, without
global mutex.


> To solve concurrency issues when using this approach we can use 
> Apache2 golbal mutex which could be used when accessing global 
> resources like system files and databases. 

Shared memory implementation is very slow because of global mutex :).
So, if we introduce it here, then again we are going to have same issue
as in shared memory implementation. Can't we have database level
concurrency protection to solve this?

Shall we have a comparision of database implementation Vs shared memory
- with and without global mutex to see whether it is worth doing?

Regards,
Shankar.

> But the problem is how we could pass this global mutext from Axis2 
> apache module to be accessible from other parts of the code, for 
> example from a Axis2/C module. We currently pass Apache2 pools through 
> axis2_env_t environment. How about using the same in passing this as 
> well?
>
> thanks,
> Damitha
>


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message