Greetings,
I would like some clarification on what the memAvailGBmin field in the ArcSoc Optimizer Report. I looked it up in the User Guide, and I'm having trouble determining if I need to change the parameters of the config file. I mainly want to confirm best practices for adjusting the parameter to ensure that it is making the proper recommendations based on the amount of RAM I have in my environment. Thank you in advance for any assistance with this. Have a delightful day.
Sincerely,
Joe Guzi
Solved! Go to Solution.
You mentioned you are only running the tool in Read-only mode so none of these settings will come into consideration for your execution until you run in Edit mode.
As mentioned in the help:
3.7.1 memory_available_GB In edit mode, after each service adjustment, ArcSOCOptimizer checks average memory available across all machines. If available memory is below this limit, the tool will stop execution. |
As the help states if running in Edit mode, if the ArcSOC Optimizer converted one of your Shared instance services to a dedicated service with a fictional recommendation of 2 Min and 4 Max instances and your GIS Server host has less than 1 GB of RAM available it will stop executing and not convert any more services until more memory is allocated or made available to the host.
3.7.2 min_ceil This is maximum (ceiling) value for min instance setting. In general, this value should be less than or equal the number of logical cores. |
In Edit mode, using the same scenario above if you had a 4 core GIS Server with hyperthreading (8 logical cores) then the ArcSOC Optimizer will only be allowed to allocate up to 8 Min dedicated instances for a very popular service that has high usage. ArcSOC processes are CPU bound so there is no point in setting this any higher than the number of logical processors available to the system.
3.7.3 max_min_diff The max instance value is set as (min instance + max_min_diff). For example, if max_min_diff=2 and recommended min=4, the would be calculated as max=4+2=6 |
In Edit mode this setting specifies what the dedicated Max instance value can be set to for ArcGIS Server's built-in auto scaling.
edit:false/true False executes in read only and produces a list of recommendation. Start with False, review and validate the results. Once validated, execute true. |
Its the 2nd method "Edit mode" where you have to worry about the "memAvailGBmin" or fill out any of the information below except "host_address" which is always required.
"arcgis_server":{ "server_admin_url": "https://xyzx:6443/arcgis", "token_url": "https://xyz:6443/arcgis/admin/generateToken", "client":"requestip", "referer":"referer", "username": "xyz", "password": "xyz", "host_address":["xyz"] }, |
memory_available_GB: In edit mode, after each service adjustment, ArcSOCOptimizer checks average memory available across all machines. If available memory is below this limit, the tool will stop execution. |
What the above Help is telling you is if some services are recommended to move from Shared to Dedicated instances then only do so if enough memory is available on the GIS Server host.
I always recommend clients to first start off with running in read-only mode and make the changes manually.
Some don't even like the thought of the script making changes to their service configurations automatically while others love the idea. You do not need to run in Edit mode if you don't want to.
In any case understand what the recommendations are and that by default the script only uses 7 days of metrics for its analysis (which can be changed). Your users usage patterns can also change from week to week or month to month depending on projects, holiday's or seasonal work, I recommended running the script on regular basis because of this.
I do love this utility as it helps GIS administrators understand how to best tune their service configurations based on raw metrics. I often see high usage services placed in the Shared instance pool and low usage services with a high number of Dedicated instances, as either the publishers or administrators might not have known how popular these services would be.
Greetings @StevenB ,
Thank you for your response. I think that helped, but I'm not confident... I understand how the tool works and that it should be run regularly. I am one of the read only folks you mentioned..lol. What you said, about the memory_available_GB helped. My concern is if I have the config set up correctly for my environment.. Specifically:
"limits":{
"memory_available_GB":1,
"min_ceil":8,
"max_min_diff":2
},
Do you know anything about what this is supposed to be set to and how to figure out the values? I'm just working with the default values, but I am not confident they are correct for my environment. Thank you for everything and have a delightful day.
Sincerely,
Joe Guzi
You mentioned you are only running the tool in Read-only mode so none of these settings will come into consideration for your execution until you run in Edit mode.
As mentioned in the help:
3.7.1 memory_available_GB In edit mode, after each service adjustment, ArcSOCOptimizer checks average memory available across all machines. If available memory is below this limit, the tool will stop execution. |
As the help states if running in Edit mode, if the ArcSOC Optimizer converted one of your Shared instance services to a dedicated service with a fictional recommendation of 2 Min and 4 Max instances and your GIS Server host has less than 1 GB of RAM available it will stop executing and not convert any more services until more memory is allocated or made available to the host.
3.7.2 min_ceil This is maximum (ceiling) value for min instance setting. In general, this value should be less than or equal the number of logical cores. |
In Edit mode, using the same scenario above if you had a 4 core GIS Server with hyperthreading (8 logical cores) then the ArcSOC Optimizer will only be allowed to allocate up to 8 Min dedicated instances for a very popular service that has high usage. ArcSOC processes are CPU bound so there is no point in setting this any higher than the number of logical processors available to the system.
3.7.3 max_min_diff The max instance value is set as (min instance + max_min_diff). For example, if max_min_diff=2 and recommended min=4, the would be calculated as max=4+2=6 |
In Edit mode this setting specifies what the dedicated Max instance value can be set to for ArcGIS Server's built-in auto scaling.
Awesome. Thank you. That helped.