Re: New extension : in memory session for multithreaded php (memsession)

From: 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).

« previous php.pecl.dev (#6631) next »