Re: Session Vars and Performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 14 Feb 2005 16:03:10 -0500, trlists@xxxxxxxxxx
<trlists@xxxxxxxxxx> wrote:
> I have a multi-page form which I build up and store in session
> variables.  The data saved includes all an internal list of items on
> the form (derived from a database table), all the form field specs
> (derived from the internal item list), the data for the fields (from
> another table), default data for restting the form (from yet another
> table), and a data structure for my forms class.
> 
> It adds up to about 250KB in the actual session file -- that is, the
> serialized data.
> 
> I'm not clear of the impact this will have in performance when it's in
> a multi-user environment, and I'm not sure at what point the overhead
> of serializing and unserializing gets to be more than the overhead of
> sticking this stuff in a temporary database table and then retrieving
> it.  Serializing is simpler but my git says there has to be a point at
> which it gets inefficient.  Testing is complex since I would have to
> write all the database code in order to do any performance measurement.
> 
> Anyone have relevant experience in this area, and/or some educated
> guesses?

You can minimize the data storage requirements by using short variable
names and casting your numeric values to integers when possible.

PHP sessions store everything as strings unless you specify otherwise.
 For example, here is the integer 123 stored in a session both ways,
as a string and cast to an integer:

v|s:3:"123";

v|i:123;

There are other things too.. like converting IP addresses to longs
with ip2long().  Storing a long int is more efficient than storing
7-15 bytes of character data.

Just look at your session data and see what can be stored smaller,
variable names included.


-- 
Greg Donald
Zend Certified Engineer
http://destiney.com/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux