8.1 Memory session driver limitation

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

8.1 Memory session driver limitation

Wade Maxfield
Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
the release was pretty superb as I have a site that is really going
to benefit from all this, and is due to go live Oct 1.  And with that
I have an observation/theory I was postulating, and looking for
feedback on:

Using some quick load testing it looks like there is some kind of
performance limit to the number of simultaneous  sessions that can be
served when using the memory session driver.

My observation:
A page with 3 mysql queries, using memory session driver takes about
85ms.  After repeatedly hitting the page (about 500 times), the time
suddenly increases to 450+ms.  Each of these hits was starting a new
session.

In the SiteAdmin > Sessions > Session Data Server, if I hit the
refresh button, the original page time returns to about 80-90ms.
Repeat the hammering process again, and at the 500(ish) mark the page
time increases to 450ms+.

Switch the session setting to Local Default (using SQLite) and I can
hit the page 3000+ times and never see a speed change (always stays
at about 95ms).


So my theory is (and I'm hoping the GWs of the list will either
confirm, or contradict it) is that a busy site, with many
simultaneous sessions (more than 500), should use the SQLite driver,
not the memory session driver, for the best/most consistent
performance (plus the added benefit of not losing the sessions when
the LassoService is restarted)


  - Wade


My exact settings for this test were (for those of you playing along at home):

Mac OS X 10.4.2 / Lasso Professional 8.1

Session:
     Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days

In the SiteAdmin

Session Data Server
     Server Session From: Memory  (and also Local Default as base line)

Session Tuning
     Delete Expired at Startup:  Yes
     Delete Expired Frequency:  High (1:20) - tried other settings not
much difference
     Maximum Expiration Time: 0
     MySQL Compatibility: Lasso 8.1

--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Bil Corry
I created a Lasso script that generates 49 sessions per page (I would go higher than 49, but at 50, the page errors out with "Lasso:
Internal exception of unknown type." - so it seems like a limit somewhere.  Doesn't matter if using memory or sqllite).

I reloaded the page 20 times.

Using SQLLite sessions, the average per page (of all 49 sessions) was respectively:

142ms, 290ms, 126ms, 126ms, 147ms, 135ms, 125ms, 160ms, 150ms, 132ms, 139ms, 131ms, 121ms, 132ms, 143ms, 138ms, 130ms, 133ms, 129ms,
150ms

Using the Memory sessions:

2ms, 3ms, 5ms, 5ms, 7ms, 4ms, 18ms, 16ms, 5ms, 15ms, 145ms, 182ms, 209ms, 219ms, 243ms, 259ms, 259ms, 279ms, 285ms, 304ms


So it does appear that the Memory sessions do tend to take longer as the number of sessions grow, especially around 500.

Anyhow, below is my test code.  Watch for line breaks introduced by my email program.  You'll need to switch between the memory and
sqllite sessions within site admin to see the difference.  And for fun, make it loop 50 times.


- Bil

------

Bil Corry
[hidden email]

Enterprise internet application development and security consulting
  http://www.fivegeeks.com/

Tools for Rapid Lasso Development
  http://www.lassoware.com/








[
        local:'timer' = integer;
        local:'loop' = integer;
        local:'loopit' = 49;
        local:'total' = integer;
        '<pre>';
        loop: #loopit;
                #loop = loop_count;
                #timer = _date_msec;
                session_start: -name=('test'loop_count), -expires=10, -usenone;
                'Session #'(#loop->(setformat: -padding=4, -padchar='0') &)' took '((_date_msec - #timer)->(setformat: -padding=3,
-padchar='0') &)'ms -- session_id = '(session_id: -name=('test'loop_count))'\r\n';
                #total += _date_msec - #timer;
        /loop;
        'Avg: '(#total / #loopit)'ms';
        '</pre>';
]
















-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Wade Maxfield
Sent: Wednesday, September 21, 2005 11:54 PM
To: [hidden email]
Subject: 8.1 Memory session driver limitation

Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
the release was pretty superb as I have a site that is really going
to benefit from all this, and is due to go live Oct 1.  And with that
I have an observation/theory I was postulating, and looking for
feedback on:

Using some quick load testing it looks like there is some kind of
performance limit to the number of simultaneous  sessions that can be
served when using the memory session driver.

My observation:
A page with 3 mysql queries, using memory session driver takes about
85ms.  After repeatedly hitting the page (about 500 times), the time
suddenly increases to 450+ms.  Each of these hits was starting a new
session.

In the SiteAdmin > Sessions > Session Data Server, if I hit the
refresh button, the original page time returns to about 80-90ms.
Repeat the hammering process again, and at the 500(ish) mark the page
time increases to 450ms+.

Switch the session setting to Local Default (using SQLite) and I can
hit the page 3000+ times and never see a speed change (always stays
at about 95ms).


So my theory is (and I'm hoping the GWs of the list will either
confirm, or contradict it) is that a busy site, with many
simultaneous sessions (more than 500), should use the SQLite driver,
not the memory session driver, for the best/most consistent
performance (plus the added benefit of not losing the sessions when
the LassoService is restarted)


  - Wade


My exact settings for this test were (for those of you playing along at home):

Mac OS X 10.4.2 / Lasso Professional 8.1

Session:
     Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days

In the SiteAdmin

Session Data Server
     Server Session From: Memory  (and also Local Default as base line)

Session Tuning
     Delete Expired at Startup:  Yes
     Delete Expired Frequency:  High (1:20) - tried other settings not
much difference
     Maximum Expiration Time: 0
     MySQL Compatibility: Lasso 8.1

--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage



--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Jim Van Heule
In reply to this post by Wade Maxfield
Bil,

Just for grins, can you rerun the memory sessions, but change the  
MySQL Compatibility from "Lasso 7/8 (Default) to Lasso 8.1 (faster)?

I'd be very, very interested in the differences between the two.

I know. In my mind a memory session shouldn't be effected by MySQL  
settings. Humor me.

--
Jim Van Heule
Heunox Corporation
(616) 844-0066


On Sep 22, 2005, at 4:18 AM, Bil Corry wrote:

> I created a Lasso script that generates 49 sessions per page (I  
> would go higher than 49, but at 50, the page errors out with "Lasso:
> Internal exception of unknown type." - so it seems like a limit  
> somewhere.  Doesn't matter if using memory or sqllite).
>
> I reloaded the page 20 times.
>
> Using SQLLite sessions, the average per page (of all 49 sessions)  
> was respectively:
>
> 142ms, 290ms, 126ms, 126ms, 147ms, 135ms, 125ms, 160ms, 150ms,  
> 132ms, 139ms, 131ms, 121ms, 132ms, 143ms, 138ms, 130ms, 133ms, 129ms,
> 150ms
>
> Using the Memory sessions:
>
> 2ms, 3ms, 5ms, 5ms, 7ms, 4ms, 18ms, 16ms, 5ms, 15ms, 145ms, 182ms,  
> 209ms, 219ms, 243ms, 259ms, 259ms, 279ms, 285ms, 304ms
>
>
> So it does appear that the Memory sessions do tend to take longer  
> as the number of sessions grow, especially around 500.
>
> Anyhow, below is my test code.  Watch for line breaks introduced by  
> my email program.  You'll need to switch between the memory and
> sqllite sessions within site admin to see the difference.  And for  
> fun, make it loop 50 times.
>
>
> - Bil
>
> ------
>
> Bil Corry
> [hidden email]
>
> Enterprise internet application development and security consulting
>   http://www.fivegeeks.com/
>
> Tools for Rapid Lasso Development
>   http://www.lassoware.com/
>
>
>
>
>
>
>
>
> [
>     local:'timer' = integer;
>     local:'loop' = integer;
>     local:'loopit' = 49;
>     local:'total' = integer;
>     '<pre>';
>     loop: #loopit;
>         #loop = loop_count;
>         #timer = _date_msec;
>         session_start: -name=('test'loop_count), -expires=10, -
> usenone;
>         'Session #'(#loop->(setformat: -padding=4, -padchar='0')  
> &)' took '((_date_msec - #timer)->(setformat: -padding=3,
> -padchar='0') &)'ms -- session_id = '(session_id: -name=
> ('test'loop_count))'\r\n';
>         #total += _date_msec - #timer;
>     /loop;
>     'Avg: '(#total / #loopit)'ms';
>     '</pre>';
> ]
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]]  
> On Behalf Of Wade Maxfield
> Sent: Wednesday, September 21, 2005 11:54 PM
> To: [hidden email]
> Subject: 8.1 Memory session driver limitation
>
> Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
> the release was pretty superb as I have a site that is really going
> to benefit from all this, and is due to go live Oct 1.  And with that
> I have an observation/theory I was postulating, and looking for
> feedback on:
>
> Using some quick load testing it looks like there is some kind of
> performance limit to the number of simultaneous  sessions that can be
> served when using the memory session driver.
>
> My observation:
> A page with 3 mysql queries, using memory session driver takes about
> 85ms.  After repeatedly hitting the page (about 500 times), the time
> suddenly increases to 450+ms.  Each of these hits was starting a new
> session.
>
> In the SiteAdmin > Sessions > Session Data Server, if I hit the
> refresh button, the original page time returns to about 80-90ms.
> Repeat the hammering process again, and at the 500(ish) mark the page
> time increases to 450ms+.
>
> Switch the session setting to Local Default (using SQLite) and I can
> hit the page 3000+ times and never see a speed change (always stays
> at about 95ms).
>
>
> So my theory is (and I'm hoping the GWs of the list will either
> confirm, or contradict it) is that a busy site, with many
> simultaneous sessions (more than 500), should use the SQLite driver,
> not the memory session driver, for the best/most consistent
> performance (plus the added benefit of not losing the sessions when
> the LassoService is restarted)
>
>
>   - Wade
>
>
> My exact settings for this test were (for those of you playing  
> along at home):
>
> Mac OS X 10.4.2 / Lasso Professional 8.1
>
> Session:
>      Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days
>
> In the SiteAdmin
>
> Session Data Server
>      Server Session From: Memory  (and also Local Default as base  
> line)
>
> Session Tuning
>      Delete Expired at Startup:  Yes
>      Delete Expired Frequency:  High (1:20) - tried other settings not
> much difference
>      Maximum Expiration Time: 0
>      MySQL Compatibility: Lasso 8.1
>
> --
> ------------------------------
> Lasso Support: http://support.omnipilot.com/
> Search the list archives: http://www.listsearch.com/lassotalk.lasso
> Manage your list subscription:
> http://www.listsearch.com/lassotalk.lasso?manage
>
>
>
> --
> ------------------------------
> Lasso Support: http://support.omnipilot.com/
> Search the list archives: http://www.listsearch.com/lassotalk.lasso
> Manage your list subscription:
> http://www.listsearch.com/lassotalk.lasso?manage
>


--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Bil Corry
In reply to this post by Wade Maxfield
> change the  
> MySQL Compatibility from "Lasso 7/8 (Default) to Lasso 8.1 (faster)?

Sorry, should have stated I was using the Lasso 8.1 storage method.  I didn't test using the Lasso 7/8 method.


- Bil

------

Bil Corry
[hidden email]

Enterprise internet application development and security consulting
  http://www.fivegeeks.com/

Tools for Rapid Lasso Development
  http://www.lassoware.com/
 
-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Jim Van Heule
Sent: Thursday, September 22, 2005 6:34 AM
To: [hidden email]
Subject: Re: 8.1 Memory session driver limitation

Bil,

Just for grins, can you rerun the memory sessions, but change the  
MySQL Compatibility from "Lasso 7/8 (Default) to Lasso 8.1 (faster)?

I'd be very, very interested in the differences between the two.

I know. In my mind a memory session shouldn't be effected by MySQL  
settings. Humor me.

--
Jim Van Heule
Heunox Corporation
(616) 844-0066


On Sep 22, 2005, at 4:18 AM, Bil Corry wrote:

> I created a Lasso script that generates 49 sessions per page (I  
> would go higher than 49, but at 50, the page errors out with "Lasso:
> Internal exception of unknown type." - so it seems like a limit  
> somewhere.  Doesn't matter if using memory or sqllite).
>
> I reloaded the page 20 times.
>
> Using SQLLite sessions, the average per page (of all 49 sessions)  
> was respectively:
>
> 142ms, 290ms, 126ms, 126ms, 147ms, 135ms, 125ms, 160ms, 150ms,  
> 132ms, 139ms, 131ms, 121ms, 132ms, 143ms, 138ms, 130ms, 133ms, 129ms,
> 150ms
>
> Using the Memory sessions:
>
> 2ms, 3ms, 5ms, 5ms, 7ms, 4ms, 18ms, 16ms, 5ms, 15ms, 145ms, 182ms,  
> 209ms, 219ms, 243ms, 259ms, 259ms, 279ms, 285ms, 304ms
>
>
> So it does appear that the Memory sessions do tend to take longer  
> as the number of sessions grow, especially around 500.
>
> Anyhow, below is my test code.  Watch for line breaks introduced by  
> my email program.  You'll need to switch between the memory and
> sqllite sessions within site admin to see the difference.  And for  
> fun, make it loop 50 times.
>
>
> - Bil
>
> ------
>
> Bil Corry
> [hidden email]
>
> Enterprise internet application development and security consulting
>   http://www.fivegeeks.com/
>
> Tools for Rapid Lasso Development
>   http://www.lassoware.com/
>
>
>
>
>
>
>
>
> [
>     local:'timer' = integer;
>     local:'loop' = integer;
>     local:'loopit' = 49;
>     local:'total' = integer;
>     '<pre>';
>     loop: #loopit;
>         #loop = loop_count;
>         #timer = _date_msec;
>         session_start: -name=('test'loop_count), -expires=10, -
> usenone;
>         'Session #'(#loop->(setformat: -padding=4, -padchar='0')  
> &)' took '((_date_msec - #timer)->(setformat: -padding=3,
> -padchar='0') &)'ms -- session_id = '(session_id: -name=
> ('test'loop_count))'\r\n';
>         #total += _date_msec - #timer;
>     /loop;
>     'Avg: '(#total / #loopit)'ms';
>     '</pre>';
> ]
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]]  
> On Behalf Of Wade Maxfield
> Sent: Wednesday, September 21, 2005 11:54 PM
> To: [hidden email]
> Subject: 8.1 Memory session driver limitation
>
> Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
> the release was pretty superb as I have a site that is really going
> to benefit from all this, and is due to go live Oct 1.  And with that
> I have an observation/theory I was postulating, and looking for
> feedback on:
>
> Using some quick load testing it looks like there is some kind of
> performance limit to the number of simultaneous  sessions that can be
> served when using the memory session driver.
>
> My observation:
> A page with 3 mysql queries, using memory session driver takes about
> 85ms.  After repeatedly hitting the page (about 500 times), the time
> suddenly increases to 450+ms.  Each of these hits was starting a new
> session.
>
> In the SiteAdmin > Sessions > Session Data Server, if I hit the
> refresh button, the original page time returns to about 80-90ms.
> Repeat the hammering process again, and at the 500(ish) mark the page
> time increases to 450ms+.
>
> Switch the session setting to Local Default (using SQLite) and I can
> hit the page 3000+ times and never see a speed change (always stays
> at about 95ms).
>
>
> So my theory is (and I'm hoping the GWs of the list will either
> confirm, or contradict it) is that a busy site, with many
> simultaneous sessions (more than 500), should use the SQLite driver,
> not the memory session driver, for the best/most consistent
> performance (plus the added benefit of not losing the sessions when
> the LassoService is restarted)
>
>
>   - Wade
>
>
> My exact settings for this test were (for those of you playing  
> along at home):
>
> Mac OS X 10.4.2 / Lasso Professional 8.1
>
> Session:
>      Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days
>
> In the SiteAdmin
>
> Session Data Server
>      Server Session From: Memory  (and also Local Default as base  
> line)
>
> Session Tuning
>      Delete Expired at Startup:  Yes
>      Delete Expired Frequency:  High (1:20) - tried other settings not
> much difference
>      Maximum Expiration Time: 0
>      MySQL Compatibility: Lasso 8.1
>
> --
> ------------------------------
> Lasso Support: http://support.omnipilot.com/
> Search the list archives: http://www.listsearch.com/lassotalk.lasso
> Manage your list subscription:
> http://www.listsearch.com/lassotalk.lasso?manage
>
>
>
> --
> ------------------------------
> Lasso Support: http://support.omnipilot.com/
> Search the list archives: http://www.listsearch.com/lassotalk.lasso
> Manage your list subscription:
> http://www.listsearch.com/lassotalk.lasso?manage
>


--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage



--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Alan Linnenbank
In reply to this post by Wade Maxfield
Can you test it with the LP7 format as well? I think that was the question, a comparrison between the two even when there actually should be no difference.(because Memory should allway use the faster format.)

Alan

On donderdag, 22 september 2005 20:52, Bil Corry <[hidden email]> wrote:

>> change the  
>> MySQL Compatibility from "Lasso 7/8 (Default) to Lasso 8.1
>(faster)?
>
>Sorry, should have stated I was using the Lasso 8.1 storage
>method.  I didn't test using the Lasso 7/8 method.
>
>
>- Bil
>
>------
>
>Bil Corry
>[hidden email]
>
>Enterprise internet application development and security consulting
>  http://www.fivegeeks.com/
>
>Tools for Rapid Lasso Development
>  http://www.lassoware.com/
>
>-----Original Message-----
>From: [hidden email]
>[mailto:[hidden email]] On Behalf Of Jim Van Heule
>Sent: Thursday, September 22, 2005 6:34 AM
>To: [hidden email]
>Subject: Re: 8.1 Memory session driver limitation
>
>Bil,
>
>Just for grins, can you rerun the memory sessions, but change the  
>MySQL Compatibility from "Lasso 7/8 (Default) to Lasso 8.1
>(faster)?
>
>I'd be very, very interested in the differences between the
>two.
>
>I know. In my mind a memory session shouldn't be effected by MySQL  
>settings. Humor me.
>
>--
>Jim Van Heule
>Heunox Corporation
>(616) 844-0066
>
>
>On Sep 22, 2005, at 4:18 AM, Bil Corry wrote:
>
>> I created a Lasso script that generates 49 sessions per page (I  
>> would go higher than 49, but at 50, the page errors out with "Lasso:
>> Internal exception of unknown type." - so it seems like a limit  
>> somewhere.  Doesn't matter if using memory or sqllite).
>>
>> I reloaded the page 20 times.
>>
>> Using SQLLite sessions, the average per page (of all 49 sessions)  
>> was respectively:
>>
>> 142ms, 290ms, 126ms, 126ms, 147ms, 135ms, 125ms, 160ms, 150ms,  
>> 132ms, 139ms, 131ms, 121ms, 132ms, 143ms, 138ms, 130ms, 133ms, 129ms,
>> 150ms
>>
>> Using the Memory sessions:
>>
>> 2ms, 3ms, 5ms, 5ms, 7ms, 4ms, 18ms, 16ms, 5ms, 15ms, 145ms, 182ms,  
>> 209ms, 219ms, 243ms, 259ms, 259ms, 279ms, 285ms, 304ms
>>
>>
>> So it does appear that the Memory sessions do tend to take longer  
>> as the number of sessions grow, especially around 500.
>>
>> Anyhow, below is my test code.  Watch for line breaks introduced by  
>> my email program.  You'll need to switch between the memory and
>> sqllite sessions within site admin to see the difference.  And for  
>> fun, make it loop 50 times.
>>
>>
>> - Bil
>>
>> ------
>>
>> Bil Corry
>> [hidden email]
>>
>> Enterprise internet application development and security consulting
>>   http://www.fivegeeks.com/
>>
>> Tools for Rapid Lasso Development
>>   http://www.lassoware.com/
>>
>>
>>
>>
>>
>>
>>
>>
>> [
>>     local:'timer' = integer;
>>     local:'loop' = integer;
>>     local:'loopit' = 49;
>>     local:'total' = integer;
>>     '<pre>';
>>     loop: #loopit;
>>         #loop = loop_count;
>>         #timer = _date_msec;
>>         session_start: -name=('test'loop_count), -expires=10, -
>> usenone;
>>         'Session #'(#loop->(setformat: -padding=4, -padchar='0')  
>> &)' took '((_date_msec - #timer)->(setformat: -padding=3,
>> -padchar='0') &)'ms -- session_id = '(session_id: -name=
>> ('test'loop_count))'\r\n';
>>         #total += _date_msec - #timer;
>>     /loop;
>>     'Avg: '(#total / #loopit)'ms';
>>     '</pre>';
>> ]
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: [hidden email] [mailto:[hidden email]]  
>> On Behalf Of Wade Maxfield
>> Sent: Wednesday, September 21, 2005 11:54 PM
>> To: [hidden email]
>> Subject: 8.1 Memory session driver limitation
>>
>> Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
>> the release was pretty superb as I have a site that is really going
>> to benefit from all this, and is due to go live Oct 1.  And with that
>> I have an observation/theory I was postulating, and looking for
>> feedback on:
>>
>> Using some quick load testing it looks like there is some kind of
>> performance limit to the number of simultaneous  sessions that can be
>> served when using the memory session driver.
>>
>> My observation:
>> A page with 3 mysql queries, using memory session driver takes about
>> 85ms.  After repeatedly hitting the page (about 500 times), the time
>> suddenly increases to 450+ms.  Each of these hits was starting a new
>> session.
>>
>> In the SiteAdmin > Sessions > Session Data Server, if I hit the
>> refresh button, the original page time returns to about 80-90ms.
>> Repeat the hammering process again, and at the 500(ish) mark the page
>> time increases to 450ms+.
>>
>> Switch the session setting to Local Default (using SQLite) and I can
>> hit the page 3000+ times and never see a speed change (always stays
>> at about 95ms).
>>
>>
>> So my theory is (and I'm hoping the GWs of the list will either
>> confirm, or contradict it) is that a busy site, with many
>> simultaneous sessions (more than 500), should use the SQLite driver,
>> not the memory session driver, for the best/most consistent
>> performance (plus the added benefit of not losing the sessions when
>> the LassoService is restarted)
>>
>>
>>   - Wade
>>
>>
>> My exact settings for this test were (for those of you playing  
>> along at home):
>>
>> Mac OS X 10.4.2 / Lasso Professional 8.1
>>
>> Session:
>>      Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days
>>
>> In the SiteAdmin
>>
>> Session Data Server
>>      Server Session From: Memory  (and also Local Default as base  
>> line)
>>
>> Session Tuning
>>      Delete Expired at Startup:  Yes
>>      Delete Expired Frequency:  High (1:20) - tried other settings not
>> much difference
>>      Maximum Expiration Time: 0
>>      MySQL Compatibility: Lasso 8.1
>>
>> --
>> ------------------------------
>> Lasso Support: http://support.omnipilot.com/
>> Search the list archives: http://www.listsearch.com/lassotalk.lasso
>> Manage your list subscription:
>> http://www.listsearch.com/lassotalk.lasso?manage
>>
>>
>>
>> --
>> ------------------------------
>> Lasso Support: http://support.omnipilot.com/
>> Search the list archives: http://www.listsearch.com/lassotalk.lasso
>> Manage your list subscription:
>> http://www.listsearch.com/lassotalk.lasso?manage
>>
>
>
>--
>------------------------------
>Lasso Support: http://support.omnipilot.com/
>Search the list archives: http://www.listsearch.com/lassotalk.lasso
>Manage your list subscription:  
>http://www.listsearch.com/lassotalk.lasso?manage
>
>
>
>--
>------------------------------
>Lasso Support: http://support.omnipilot.com/
>Search the list archives: http://www.listsearch.com/lassotalk.lasso
>Manage your list subscription:  
>http://www.listsearch.com/lassotalk.lasso?manage
>


--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Bil Corry
In reply to this post by Wade Maxfield
Same tests comparing LP7/8 format to LP8.1 format:

Using SQLLite sessions:

LP7/8 - Avg 124 -- 117, 121, 122, 136, 125, 130, 121, 125, 126, 116, 121, 122, 125, 129, 120, 125, 125, 125, 132, 133

LP8.1 - Avg 137 -- 129, 149, 121, 120, 126, 131, 132, 134, 145, 129, 131, 119, 132, 131, 128, 126, 131, 135, 283, 125

Using the Memory sessions:

LP7/8 - Avg 112 -- 2, 3, 5, 5, 8, 4, 4, 2, 5, 2, 144, 173, 183, 200, 211, 231, 246, 263, 280, 282

LP8.1 - Avg 119 -- 2, 2, 7, 6, 6, 3, 8, 5, 11, 15, 152, 192, 236, 201, 228, 227, 248, 264, 270, 301


So, it appears the LP7/8 format performs better than the LP8.1 format on these tests and the memory sessions offer incredible
performance for the first 500 or so sessions, then starts to become bogged down.  If you run the memory sessions for 30 or so
trials, it does plateau around 300ms.

Now, this isn't real world usage, so it may not even come close to representing what you'll see on your sites.  For example, this
doesn't take into account adding variables to sessions, or having sessions deleted as others are added.  So it goes without saying,
YMMV.

Below is my revised test code.  It now keeps track of the results as you click through the trials.  Just make sure you let the page
finish loading before clicking again.


- Bil

------

Bil Corry
[hidden email]

Enterprise internet application development and security consulting
  http://www.fivegeeks.com/

Tools for Rapid Lasso Development
  http://www.lassoware.com/
 


[

        var:'results' = (action_param:'r');
        if: $results->size;
                'Trial #' ($results->(split:',')->size + 1) '<br><br>';
        else;
                'Trial #1';
        /if;
        local:'timer' = integer;
        local:'loop' = integer;
        local:'loopit' = 49;
        local:'total' = integer;
        '<pre>';
        loop: #loopit;
                #loop = loop_count;
                #timer = _date_msec;
                session_start: -name=('test'loop_count), -expires=10, -usenone;
                'Session #'(#loop->(setformat: -padding=4, -padchar='0') &)' took '((_date_msec - #timer)->(setformat: -padding=3,
-padchar='0') &)'ms -- session_id = '(session_id: -name=('test'loop_count))'\r\n';
                #total += _date_msec - #timer;
        /loop;
        var:'result' = (#total / #loopit);
        'Avg: '$result'ms';
        '</pre>';
        if: $results->size;
                $results += ',';
        /if;
        $results += $result;
        '<hr>';
        var:'avg' = integer;
        var:'rawarray' = $results->(split:',');
        iterate: $rawarray, local:'r';
                $avg += (integer: #r);
        /iterate;

        'Results so far: Avg '($avg / $rawarray->size) ' -- '$results->(split:',')->(join:', ');
        '<hr>';
]

<a href="?r=[$results]">again</a>



--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Hans de Wit
In reply to this post by Wade Maxfield
Bil,

I took it a little further, I edited your code and made it Version 6
compatible. Changed your variable 'loopit' to 5000 and run it on both my
V6 and my V8 machine.

V6 - Avg for the 5000 - 4ms - Lasso SQL ( Xserve Dual 1.3mgz G4 )
V8 - Avg for the 5000 - 12 ms - SQLite ( Xserve Dual 2.3 mgz G5 )

The page did NOT error out on either the V6 OR the V8 software ???  I
see no limit on sessions per page.

Hans


NOTE: My adapted V6 code is at http://www.printer.ca/testing.txt and
runs both on V6, V7 and V8


Bil Corry wrote:

>I created a Lasso script that generates 49 sessions per page (I would go higher than 49, but at 50, the page errors out with "Lasso:
>Internal exception of unknown type." - so it seems like a limit somewhere.  Doesn't matter if using memory or sqllite).
>
>I reloaded the page 20 times.
>
>Using SQLLite sessions, the average per page (of all 49 sessions) was respectively:
>
>142ms, 290ms, 126ms, 126ms, 147ms, 135ms, 125ms, 160ms, 150ms, 132ms, 139ms, 131ms, 121ms, 132ms, 143ms, 138ms, 130ms, 133ms, 129ms,
>150ms
>
>Using the Memory sessions:
>
>2ms, 3ms, 5ms, 5ms, 7ms, 4ms, 18ms, 16ms, 5ms, 15ms, 145ms, 182ms, 209ms, 219ms, 243ms, 259ms, 259ms, 279ms, 285ms, 304ms
>
>So it does appear that the Memory sessions do tend to take longer as the number of sessions grow, especially around 500.
>
>Anyhow, below is my test code.  Watch for line breaks introduced by my email program.  You'll need to switch between the memory and
>sqllite sessions within site admin to see the difference.  And for fun, make it loop 50 times.
>
>- Bil
>
>------
>
>Bil Corry
>[hidden email]
>
>Enterprise internet application development and security consulting
>  http://www.fivegeeks.com/
>
>Tools for Rapid Lasso Development
>  http://www.lassoware.com/
>
>[
> local:'timer' = integer;
> local:'loop' = integer;
> local:'loopit' = 49;
> local:'total' = integer;
> '<pre>';
> loop: #loopit;
> #loop = loop_count;
> #timer = _date_msec;
> session_start: -name=('test'loop_count), -expires=10, -usenone;
> 'Session #'(#loop->(setformat: -padding=4, -padchar='0') &)' took '((_date_msec - #timer)->(setformat: -padding=3,
>-padchar='0') &)'ms -- session_id = '(session_id: -name=('test'loop_count))'\r\n';
> #total += _date_msec - #timer;
> /loop;
> 'Avg: '(#total / #loopit)'ms';
> '</pre>';
>]
>
>-----Original Message-----
>From: [hidden email] [mailto:[hidden email]] On Behalf Of Wade Maxfield
>Sent: Wednesday, September 21, 2005 11:54 PM
>To: [hidden email]
>Subject: 8.1 Memory session driver limitation
>
>Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
>the release was pretty superb as I have a site that is really going
>to benefit from all this, and is due to go live Oct 1.  And with that
>I have an observation/theory I was postulating, and looking for
>feedback on:
>
>Using some quick load testing it looks like there is some kind of
>performance limit to the number of simultaneous  sessions that can be
>served when using the memory session driver.
>
>My observation:
>A page with 3 mysql queries, using memory session driver takes about
>85ms.  After repeatedly hitting the page (about 500 times), the time
>suddenly increases to 450+ms.  Each of these hits was starting a new
>session.
>
>In the SiteAdmin > Sessions > Session Data Server, if I hit the
>refresh button, the original page time returns to about 80-90ms.
>Repeat the hammering process again, and at the 500(ish) mark the page
>time increases to 450ms+.
>
>Switch the session setting to Local Default (using SQLite) and I can
>hit the page 3000+ times and never see a speed change (always stays
>at about 95ms).
>
>So my theory is (and I'm hoping the GWs of the list will either
>confirm, or contradict it) is that a busy site, with many
>simultaneous sessions (more than 500), should use the SQLite driver,
>not the memory session driver, for the best/most consistent
>performance (plus the added benefit of not losing the sessions when
>the LassoService is restarted)
>
>  - Wade
>
>My exact settings for this test were (for those of you playing along at home):
>
>Mac OS X 10.4.2 / Lasso Professional 8.1
>
>Session:
>     Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days
>
>In the SiteAdmin
>
>Session Data Server
>     Server Session From: Memory  (and also Local Default as base line)
>
>Session Tuning
>     Delete Expired at Startup:  Yes
>     Delete Expired Frequency:  High (1:20) - tried other settings not
>much difference
>     Maximum Expiration Time: 0
>     MySQL Compatibility: Lasso 8.1
>
>  
>


--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Fletcher Sandbeck
In reply to this post by Wade Maxfield
On 9/22/05 at 9:23 PM by [hidden email] (Alan Linnenbank):

>Can you test it with the LP7 format as well? I think that was the question, a comparrison between the two even when there actually
>should be no difference.(because Memory should allway use the faster format.)

The SQLite and Memory drivers always use the "Lasso 8.1" format.  Only the MySQL driver has the option to use the "Lasso 7/8" format.  (Which is why the option is labled "MySQL Compatibility" in admin.)

[fletcher]
--
Fletcher Sandbeck                         [hidden email]
Lasso Product Specialist              [hidden email]
OmniPilot Software, Inc.                http://www.omnipilot.com

--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Bil Corry
In reply to this post by Wade Maxfield
> The SQLite and Memory drivers always use the "Lasso 8.1" format.

Heh.  It's slower when selected as such :)  Or perhaps the results would be reversed if tested in reverse order.  Very scientific
testing going on here.


- Bil

------

Bil Corry
[hidden email]

Enterprise internet application development and security consulting
  http://www.fivegeeks.com/

Tools for Rapid Lasso Development
  http://www.lassoware.com/
 
-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Fletcher Sandbeck
Sent: Thursday, September 22, 2005 2:50 PM
To: [hidden email]
Subject: Re: 8.1 Memory session driver limitation

On 9/22/05 at 9:23 PM by [hidden email] (Alan Linnenbank):

>Can you test it with the LP7 format as well? I think that was the question, a comparrison between the two even when there actually
>should be no difference.(because Memory should allway use the faster format.)

The SQLite and Memory drivers always use the "Lasso 8.1" format.  Only the MySQL driver has the option to use the "Lasso 7/8"
format.  (Which is why the option is labled "MySQL Compatibility" in admin.)

[fletcher]
--
Fletcher Sandbeck                         [hidden email]
Lasso Product Specialist              [hidden email]
OmniPilot Software, Inc.                http://www.omnipilot.com

--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage



--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Bil Corry
In reply to this post by Wade Maxfield
> The page did NOT error out on either the V6 OR the V8 software ???  I
> see no limit on sessions per page.

On WinXP there is.  At first, I thought the 50 breaking point was the recursive limit kicking in.  But I changed it to 100 but it
had no effect (unless a restart was required, I didn't do that).


- Bil

------

Bil Corry
[hidden email]

Enterprise internet application development and security consulting
  http://www.fivegeeks.com/

Tools for Rapid Lasso Development
  http://www.lassoware.com/
 
-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Hans de Wit
Sent: Thursday, September 22, 2005 2:23 PM
To: [hidden email]
Subject: Re: 8.1 Memory session driver limitation

Bil,

I took it a little further, I edited your code and made it Version 6
compatible. Changed your variable 'loopit' to 5000 and run it on both my
V6 and my V8 machine.

V6 - Avg for the 5000 - 4ms - Lasso SQL ( Xserve Dual 1.3mgz G4 )
V8 - Avg for the 5000 - 12 ms - SQLite ( Xserve Dual 2.3 mgz G5 )

The page did NOT error out on either the V6 OR the V8 software ???  I
see no limit on sessions per page.

Hans


NOTE: My adapted V6 code is at http://www.printer.ca/testing.txt and
runs both on V6, V7 and V8


Bil Corry wrote:

>I created a Lasso script that generates 49 sessions per page (I would go higher than 49, but at 50, the page errors out with
"Lasso:
>Internal exception of unknown type." - so it seems like a limit somewhere.  Doesn't matter if using memory or sqllite).
>
>I reloaded the page 20 times.
>
>Using SQLLite sessions, the average per page (of all 49 sessions) was respectively:
>
>142ms, 290ms, 126ms, 126ms, 147ms, 135ms, 125ms, 160ms, 150ms, 132ms, 139ms, 131ms, 121ms, 132ms, 143ms, 138ms, 130ms, 133ms,
129ms,

>150ms
>
>Using the Memory sessions:
>
>2ms, 3ms, 5ms, 5ms, 7ms, 4ms, 18ms, 16ms, 5ms, 15ms, 145ms, 182ms, 209ms, 219ms, 243ms, 259ms, 259ms, 279ms, 285ms, 304ms
>
>So it does appear that the Memory sessions do tend to take longer as the number of sessions grow, especially around 500.
>
>Anyhow, below is my test code.  Watch for line breaks introduced by my email program.  You'll need to switch between the memory and
>sqllite sessions within site admin to see the difference.  And for fun, make it loop 50 times.
>
>- Bil
>
>------
>
>Bil Corry
>[hidden email]
>
>Enterprise internet application development and security consulting
>  http://www.fivegeeks.com/
>
>Tools for Rapid Lasso Development
>  http://www.lassoware.com/
>
>[
> local:'timer' = integer;
> local:'loop' = integer;
> local:'loopit' = 49;
> local:'total' = integer;
> '<pre>';
> loop: #loopit;
> #loop = loop_count;
> #timer = _date_msec;
> session_start: -name=('test'loop_count), -expires=10, -usenone;
> 'Session #'(#loop->(setformat: -padding=4, -padchar='0') &)' took '((_date_msec - #timer)->(setformat: -padding=3,
>-padchar='0') &)'ms -- session_id = '(session_id: -name=('test'loop_count))'\r\n';
> #total += _date_msec - #timer;
> /loop;
> 'Avg: '(#total / #loopit)'ms';
> '</pre>';
>]
>
>-----Original Message-----
>From: [hidden email] [mailto:[hidden email]] On Behalf Of Wade Maxfield
>Sent: Wednesday, September 21, 2005 11:54 PM
>To: [hidden email]
>Subject: 8.1 Memory session driver limitation
>
>Note: Fletcher, Adam, and OP - Love the 8.1 upgrade, the timing of
>the release was pretty superb as I have a site that is really going
>to benefit from all this, and is due to go live Oct 1.  And with that
>I have an observation/theory I was postulating, and looking for
>feedback on:
>
>Using some quick load testing it looks like there is some kind of
>performance limit to the number of simultaneous  sessions that can be
>served when using the memory session driver.
>
>My observation:
>A page with 3 mysql queries, using memory session driver takes about
>85ms.  After repeatedly hitting the page (about 500 times), the time
>suddenly increases to 450+ms.  Each of these hits was starting a new
>session.
>
>In the SiteAdmin > Sessions > Session Data Server, if I hit the
>refresh button, the original page time returns to about 80-90ms.
>Repeat the hammering process again, and at the 500(ish) mark the page
>time increases to 450ms+.
>
>Switch the session setting to Local Default (using SQLite) and I can
>hit the page 3000+ times and never see a speed change (always stays
>at about 95ms).
>
>So my theory is (and I'm hoping the GWs of the list will either
>confirm, or contradict it) is that a busy site, with many
>simultaneous sessions (more than 500), should use the SQLite driver,
>not the memory session driver, for the best/most consistent
>performance (plus the added benefit of not losing the sessions when
>the LassoService is restarted)
>
>  - Wade
>
>My exact settings for this test were (for those of you playing along at home):
>
>Mac OS X 10.4.2 / Lasso Professional 8.1
>
>Session:
>     Session_Start: -Name='xxx', -Expires=7200, -UseAuto; // 5 days
>
>In the SiteAdmin
>
>Session Data Server
>     Server Session From: Memory  (and also Local Default as base line)
>
>Session Tuning
>     Delete Expired at Startup:  Yes
>     Delete Expired Frequency:  High (1:20) - tried other settings not
>much difference
>     Maximum Expiration Time: 0
>     MySQL Compatibility: Lasso 8.1
>
>  
>


--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage



--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage
Reply | Threaded
Open this post in threaded view
|

Re: 8.1 Memory session driver limitation

Fletcher Sandbeck
In reply to this post by Wade Maxfield
On 9/22/05 at 3:04 PM by [hidden email] (Bil Corry):

>> The SQLite and Memory drivers always use the "Lasso 8.1" format.
>
>Heh.  It's slower when selected as such :)  Or perhaps the results
>would be reversed if tested in reverse order.  Very scientific testing
>going on here.

That setting isn't even checked for those drivers so I can't see even the conditional causing a speed difference.  But, these kinds of tests are heavily susceptible to being influenced by the other processes that are occuring on the machine including other Lasso pages being loaded and also other applications.

[fletcher]
--
Fletcher Sandbeck                         [hidden email]
Lasso Product Specialist              [hidden email]
OmniPilot Software, Inc.                http://www.omnipilot.com

--
------------------------------
Lasso Support: http://support.omnipilot.com/
Search the list archives: http://www.listsearch.com/lassotalk.lasso
Manage your list subscription:  
http://www.listsearch.com/lassotalk.lasso?manage