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

From: Date: Tue, 08 Sep 2009 21:36:39 +0000
Subject: New extension : in memory session for multithreaded php (memsession)
Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-6626@lists.php.net to get a copy of this message
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 (#6626) next »