I understand that after 12.1 the auto-learning was setup such that all URLs are monitored in one global pool, but smaller software service based pools can be created for less active applications. While I can easily setup a small pool for each of our smaller applications would it be preferable to set up pools for each of the couple larger applications and let everything else feed the global pool or would it even work that way? If a software service has it's own pool do any of the URLs also go to the global pool?
The global pool by default is 500.Every time you create separate per-SS pool you add extra pool with extra space to this global 500 that is not affected by per-SS one.
There are no recommendations about this settings as it strictly depends on how many SSes you have, how many and how active URLs they contain.
Please let us know if we can clarify or explain on some specific example.
If I create a pool for an application will the URLs no longer appear in the global pool or will they appear in both?
Let's say I have 5 high activity applications and 20 low activity applications. Is it better for the 5 high activity apps to have their own larger pools and let everything else go to the global pool or the 20 low activity apps to have their own smaller pools and the highly active going to the global pool? Will either configuration have an effect one way or the other on memory consumption, sessions, etc?
Rather opposite, low activity SSes should have their own pools as the global one will be rather saturated with URLs of the high-activity SSes.
In general if you don't have thousands of SSes I would set individual pool for all of them. This was introduced to save memory resources, but if you have enough RAM assigned I would go for this, start with 50 or 100 for each and keep on increasing where needed looking at the AMD performance.