SAS Load Manager is queuing all requests

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 18
Accepted Solution

SAS Load Manager is queuing all requests

I'm running SAS/Intrnet (Win7 Pro 64bit, SAS 9.3 64bit) and am trying to setup my installation to perform better for multiple concurrent requests. 

I've setup a pool service using the load manager successfully, with 3 application servers running at all times, and up to 5 allowed.  All of the above processes as well as the web server are on a single physical box.

To test it, I've been running a job that takes about 10 seconds to run.  I'll kick it off in 5 different tabs in my browser, and all of the jobs get queued against a single AppServer, which will run them 1 at a time, so the total job time is 50 seconds.  I've monitored the processing via SysInternals Process Explorer, as well as the broker statistics page, and can clearly see that only 1 AppServer is being assigned a single job at a time.

Is this expected behavior because it is setup on a single physical machine? To me, this seems no different from running a single App Server on a socket service.

What am I missing?


Accepted Solutions
Solution
‎11-11-2014 01:03 AM
Valued Guide
Posts: 3,206

Re: SAS Load Manager is queuing all requests

Dpends on what you did with your testpage.

The web is stateless and by that it impossible to do some kind of transactions. You are needing sessions for that. With sessions you can continue the process from one html-page to an next one. All information is kept server-side, hold/stored  with that sessionid.  As this sessionid and strored information is bound to an appserver it cannot switch thereafter.

This is what you are seeing. It is the task of the loadmanager to choose the correct one. 

With static pages not bound to a session the load manager can choose one of the appservers by some algoritme, Mostly the less used one. With low loads this balancing is not very random more serial.

---->-- ja karman --<-----

View solution in original post


All Replies
Solution
‎11-11-2014 01:03 AM
Valued Guide
Posts: 3,206

Re: SAS Load Manager is queuing all requests

Dpends on what you did with your testpage.

The web is stateless and by that it impossible to do some kind of transactions. You are needing sessions for that. With sessions you can continue the process from one html-page to an next one. All information is kept server-side, hold/stored  with that sessionid.  As this sessionid and strored information is bound to an appserver it cannot switch thereafter.

This is what you are seeing. It is the task of the loadmanager to choose the correct one. 

With static pages not bound to a session the load manager can choose one of the appservers by some algoritme, Mostly the less used one. With low loads this balancing is not very random more serial.

---->-- ja karman --<-----
Occasional Contributor
Posts: 18

Re: SAS Load Manager is queuing all requests

Thanks Jaap!  That's exactly what it was.  When I tested multiple requests from different browsers and different machines, I could see the different appservers being used.

Our SAS/Intrnet jobs don't use sessions, and I'd like to keep it that way. Are you aware of any way to notify the loadmanager to 'ignore' sessions so that multiple requests from the same browser+machine will be assigned to different app servers as well?

I just looked again through the documentation and couldn't find anything in there, nor any mention of sessions in the broker.ini.

I tried adding this code to the top of my test program, but it appears that the appserver doesn't send the notification until completion of the job:

%let rc=%sysfunc(appsrv_session(delete));

Valued Guide
Posts: 3,206

Re: SAS Load Manager is queuing all requests

Did you: SAS/IntrNet(R) 9.4: Application Dispatcher (load manager reference)

use the poolservice  SAS/IntrNet(R) 9.4: Application Dispatcher ?  Is it not only the name whole of the concept is similar to the EBI BI/DI approach

The balancing of this is not that advanced. With this approach you can easily spread over a lot of those sas services.

---->-- ja karman --<-----
Occasional Contributor
Posts: 18

Re: SAS Load Manager is queuing all requests

Yes I am using the pool service approach as outlined in the documentation.

Valued Guide
Posts: 3,206

Re: SAS Load Manager is queuing all requests

I have seen the spread on running sessions is balanced over all servers. Makes sense as the start/stop of a session is a registered event.

When there are no sessions at all (or evenly spread) it will choose the first available in the list. There is no reason to balance just to have a next one available for being too busy. After it is ready that event is almost forgotten. Yes there are some counters showing activity being done and you have that load manager log.   Is there are a spread of multiple webservers or are there different services being arround.  On a service-id-name you could spread on different classes ot type of work.

---->-- ja karman --<-----
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 198 views
  • 0 likes
  • 2 in conversation