MinPool enhancement request

General discussions related to APLNext's Application and Commerce WebServices and WebTransfer product.

Moderators: Tech Support, phpbb_admin

MinPool enhancement request

Postby Davin Church » December 27th, 2009, 7:00 pm

In each workspace's properties, there is a "minpool" setting which determines how many workspaces are "spun up" (pre-loaded) for immediate use by incoming web client requests, so users don't have to wait for a fresh interpreter and workspace to be started before their request can be serviced. This works great for quick individual requests, but isn't as beneficial when making use of the one-on-one feature.

If I've set minpool=1 so that a workspace is always available for an incoming request, and that workspace is then assigned to a particular one-to-one client, then a fresh workspace is no longer available if a new client comes along with a request of their own, forcing them to wait for a new instance of APL to be available.

Therefore, I would like to request a simple enhancement by way of an adjustment to the minpool definition. I think that minpool should be defined to be the minimum number of available server instances over and above any currently reserved one-to-one sessions.

That way, any time an APL session is assigned one-to-one to a client, a new workspace would then be spun up and available for immediate use by any new client that might happen along during that time. When a one-to-one session is released, then the pool of instances can be reduced after the usual timeout back to the current minpool.

This adjustment may be as simple as adding in a single extra number when making the minpool count check. Might there be programming resources available to make a simple change like this in the next month or two?
Davin Church
 
Posts: 651
Joined: February 24th, 2007, 1:46 am

MinPool Enhancement

Postby joe_blaze » February 4th, 2010, 4:17 am

See my response to this thread: http://forum.apl2000.com/viewtopic.php?t=555

The MinPool is involved in timeout handling, not just the determination of the initial number of asychronous threads which are established when an APL WebServices server is started up. Separating 1:1 sessions [between client and a specific server-side thread] from non-1:1 sessions will have tricky timeout processing implications. More study needed.

The 1:1 sessions concept was implemented in APL WebServices to attempt to provide a stateful session in a manner which is easier than that which must be used in mainstream web servers to obtain a statefull session, if it's possible there at all. In the mainstream methodology, the server-side application programmer must handle the client identification cookies in the application code.
joe_blaze
 
Posts: 384
Joined: February 11th, 2007, 3:09 am
Location: Box 361 Brielle, NJ 08730-0361

Re: MinPool Enhancement

Postby Davin Church » February 4th, 2010, 6:26 pm

joe_blaze wrote:See my response to this thread: http://forum.apl2000.com/viewtopic.php?t=555

I looked at that thread but didn't see any obvious relation to this one. Maybe you could elaborate on the connection a little bit for me?

joe_blaze wrote:The MinPool is involved in timeout handling, not just the determination of the initial number of asychronous threads which are established when an APL WebServices server is started up. Separating 1:1 sessions [between client and a specific server-side thread] from non-1:1 sessions will have tricky timeout processing implications. More study needed.

Please do study, if you will. I think if you always ignore 1:1 sessions in all MinPool count comparisons (but not necessarily in the MaxPool count, to keep from overloading the server), then I think everything will continue to be consistent and correct. Please let me know what you decide.

joe_blaze wrote:The 1:1 sessions concept was implemented in APL WebServices to attempt to provide a stateful session in a manner which is easier than that which must be used in mainstream web servers to obtain a statefull session, if it's possible there at all. In the mainstream methodology, the server-side application programmer must handle the client identification cookies in the application code.

I wholeheartedly agree! And it's GREAT, provided AWS and the application code can cooperate just a little bit on the process.
Davin Church
 
Posts: 651
Joined: February 24th, 2007, 1:46 am


Return to APL WebServices

Who is online

Users browsing this forum: No registered users and 19 guests