Re: New extension : in memory session for multithreaded php (memsession)
| From: | David Soria Parra | Date: | Fri, 11 Sep 2009 12:48:58 +0000 |
| Subject: | Re: New extension : in memory session for multithreaded php (memsession) | ||
| References: | 1 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-6631@lists.php.net to get a copy of this message | ||
I'll like it. This should go into pecl. Any objections from someone?
On 2009-09-08, Basant Kukreja <basant.kukreja@gmail.com> wrote:
> Hi,
> I have written a in-memory session module for multi threaded php.
> I would like to contribute this php extension to pecl. Purpose of
> this extension is to provide a feature where sessions can be stored
> in memory instead of files. There is a similar module named mod_mm for
> multiprocess php which doesn't work for ZTS enabled php. Idea behind
> developing this module is to have high performance session module for single
> process multi-threaded php process.
>
> I have been using this extension for a ecommerce workload performance for last
> few months and it is pretty stable.
>
> Performance notes :
> Based on Studio 12 profiles on Solaris, performance of memsession is much
> better than mod_files even when mod_files store session in RAM disk.
>
> Implementation details :
> To minimize the lock time, I have used the atomic APIs since zend API
> doesn't provide the atomic API so I wrote atomic APIs for different platforms
> in zend_atomic.h. I am using gcc's atomic operation where ever gcc is
> available. It works fine on my Fedora 11.
>
> Testing :
> * Linux 32 bit and 64 bit (with Sun Web Server)
> * Windows 2000 and Vista (with Apache)
> * Solaris sparc 32 bit and 64 bit. (with Sun Web Server)
> * php 5.2.x and php 5.3
>
> I have uploaded this extension at bitbucket.org site.
> $ hg clone https://basantk@bitbucket.org/basantk/memsession/
>
> My blog for this extension :
>
> http://blogs.sun.com/basant/entry/in_memory_session_for_multithreaded
>
> I will maintain this php extension.
>
> Regards,
> Basant.
>
> Some of the single process multi threaded php containers are :
> * Apache on windows
> * Sun Web Server on many platform (linux, Solaris, Windows)
> * Worker Apache mpm on many platoform (with single process).