Highlighted
Absent Member.. Greg_S Absent Member..
Absent Member..
1494 views

Hit a wall at 48 users - nobody else can log in

Jump to solution

On SvcMgr 7.11. We seem to hit a wall of between 48 and 52 users. We have many more licenses, and just recently I changed the sm.ini setting from 32MB shared memory to 64MB shared memory. But when we have between 48 and 52 users, it seems to lock out anyone else, as if user memory or licenses is maxed. Someone who is already logged in must go and disconnect inactive users. We should be able to get 150 or more uses.

1) what setting can we 'bump' up or change to allow more users?

2) what can we do to disconnect users who are inactive for hours?

Tags (4)
0 Likes
1 Solution

Accepted Solutions
-m- Absent Member.
Absent Member.

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

A servlet in Service Manager is a process which accepts user connections. Most environments will run multiple servlets, sometimes with multiple servers, in order to accommodate their user load. Expect the servlet capacity to be approx 40-50 users in the 32-bit Linux server.

 

If you assume a servlet in your environment can handle 40 users (for stability reasons without load testing data), then the threadsperprocess parameter should be set to...

threadsperprocess:40

 

This means that 4 servlets, plus a loadBalancer, should be started in your system (4 servlets at 40 users each = 160 concurrent users). Starting multiple servlets in your Service Manager environment will require modifying your sm.cfg file.

 

Example with 2 servlets (from Windows sm.cfg):

sm -loadBalancer -httpPort:13080

sm -httpPort:13081 -httpsPort:13082
sm -httpPort:13083 -httpsPort:13084

 

The first entry corresponds to the SM loadBalancer. Users will connect to this special servlet and be rerouted to an available servlet (the other two entries). If threadsperprocess:40 was set in your sm.ini file, then the 13081 servlet could hold up to 40 users and the 13083 servlet could hold up to 40 users (total of 80 concurrent users).

12 Replies
Micro Focus Expert
Micro Focus Expert

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

Run sm -reportlic:1 to check your license usage. Check if your users have been configured to use floating licenses when they should be named users.

Lookup online help on "Restart the inactivity timer" and set interval that suited to your environment.

-m- Absent Member.
Absent Member.

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

The number of users that a single servlet can hold is based on several factors including the client's memory footprint. In general, you should expect...

 

Approx 30 users per servlet on Windows (32-bit)

Approx 50 users per servlet on UNIX/Linux (32-bit)

Note: A 64-bit OS will support more users per servlet

 

The threadsperprocess parameter in the sm.ini file controls how many users (processes) can connect to a specific servlet. Assuming a 32-bit OS, your system should be running at least 3-5 servlets for a load of 150 concurrent users. This means the server should have at least 10GB of physical RAM (2GB per servlet + 2GB for loadBalancer/background processes, + overhead for OS and other apps).

 

Review the Help Server documents on threadsperprocess and vertical scaling. The Sizing Guide has some useful information as well.

Piku Absent Member.
Absent Member.

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution
-m- is right.
for unix platform a single servlet can accept 50 connection by default.
However you can change the count using threadsperprocess parameter in the sm.ini.

____________________________________
Assign Kudo, if found post useful and mark it accepted if solves the issue.
Absent Member.. Greg_S Absent Member..
Absent Member..

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

Good tip on the licenses. We have both named and floating.

0 Likes
Absent Member.. Greg_S Absent Member..
Absent Member..

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

This is good info - Thanks!  I cannot fine the threadsperprocess parameter in my sm.ini.

So I guess I'll have to add it. What would the syntax be?

Ex: threadsperprocess=3

 

0 Likes
-m- Absent Member.
Absent Member.

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

Syntax for the sm.ini file:

threadsperprocess:30

 

Note: The value set with this parameter should be determined based on load testing in your environment. The goal is to specify a number that fully utilizes the servlet but also maintains stability.

Absent Member.. Greg_S Absent Member..
Absent Member..

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution
We're on 32-bit Linux. Thanks for all the good pointers. Agreed, I need to find and read the Help Server docs. I work closely with the Linux admins so we can tinker with memory as needed. In the meantime, i'm still confused. We're at 50 users now, need at least 100, or better still 150. If I add
threadsperprocess:30
will that get me what I need? Or is this basically max users, so I should set it to 150 for 150 users? Thanks for the advice!
0 Likes
-m- Absent Member.
Absent Member.

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

A servlet in Service Manager is a process which accepts user connections. Most environments will run multiple servlets, sometimes with multiple servers, in order to accommodate their user load. Expect the servlet capacity to be approx 40-50 users in the 32-bit Linux server.

 

If you assume a servlet in your environment can handle 40 users (for stability reasons without load testing data), then the threadsperprocess parameter should be set to...

threadsperprocess:40

 

This means that 4 servlets, plus a loadBalancer, should be started in your system (4 servlets at 40 users each = 160 concurrent users). Starting multiple servlets in your Service Manager environment will require modifying your sm.cfg file.

 

Example with 2 servlets (from Windows sm.cfg):

sm -loadBalancer -httpPort:13080

sm -httpPort:13081 -httpsPort:13082
sm -httpPort:13083 -httpsPort:13084

 

The first entry corresponds to the SM loadBalancer. Users will connect to this special servlet and be rerouted to an available servlet (the other two entries). If threadsperprocess:40 was set in your sm.ini file, then the 13081 servlet could hold up to 40 users and the 13083 servlet could hold up to 40 users (total of 80 concurrent users).

Micro Focus Expert
Micro Focus Expert

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution

I presume you only have the single Linux server based on the size of your users. If your issue is due to growth outgrowing your configuration, you should look up vertical scaling in the online help. Vertical scaling means growing with a single server. Horizontal scaling means to grow with multiple servers. IN the online help, there's an example and best of all, a pdf diagram of vertical scaling which gives you an overview of how it works.

Absent Member.. Greg_S Absent Member..
Absent Member..

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution
will I have to make a change to the services file if I add the sm -httpPort lines as -m- indicated above?
0 Likes
Absent Member.. Greg_S Absent Member..
Absent Member..

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution
BTW: I did not realize the on-line help for SM was *in* the app itself. Got it now - Thanks!
0 Likes
Micro Focus Expert
Micro Focus Expert

Re: Hit a wall at 48 users - nobody else can log in

Jump to solution
🙂
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.