Video Screencast Help
Give us your opinion and win with Symantec! Please help us by taking this survey to tell us about your experience with Symantec Connect, so that we can continue to grow and improve.  Take the survey.

7.5 SMP Performance on Console and separated Application Pools

Created: 28 Oct 2013 • Updated: 30 Oct 2013 | 7 comments

Hi everyone,

I guess there are many out there who have implemented separate Application Pools to improve Console performance in 7.0 / 7.1. There are articles out there which suggests doing so (http://www.symantec.com/docs/TECH200276 ). However there are also articles out there which suggest to avoid doing this (http://www.symantec.com/docs/HOWTO83873). So the implementation was alwas at "your own risk" and maybe helped in some cases and made things worse in other cases.

However, now 7.0 and 7.1 is the past and everyone is moving to the future with 7.5 but the question is what is the best practise for 7.5?

Should the application pools being removed prior to upgrading? Or should we keep the separate application pools? Or is it again at "your own risk" to test if this is helping or not?

Stefan

Operating Systems:

Comments 7 CommentsJump to latest comment

Matt Suckel's picture

It is definitely best practice to remove the separate app pools prior to upgrading.  Also with the performance gains that are in 7.5, you should not have to do this.

It has not been a 'recommended' solution in quite some time.  (I do know it can improve things - I have seen where breaking out console traffic did help, but still not recommended)

I would remove the separate pools before you upgrade and if at some point in the future you really feel you need them, then make that decision at that point.

Stefan S.'s picture

Thanks for your reply. I have had same reply from another source ;-)

I hope the performance has improved in 7.5. So far I have not heard much about the performance improvement. Neither good nor bad comments... I don't know if that is a good or a bad sign...

Will see. Hopefully this week I am able to upgrade my test environment...

fabian.szalatnay's picture

I'm wondering how you would use 8GB oder 16GB RAM on a SMP Box without using different app pools?
As far as I know there is a Microsoft limitation/bug/problem in IIS about recycling memory within an Application Pool (somewhere at 1.2GB?). And Altiris is still using IIS 6.

On smaller systems below 1000 clients, the whole SMP system doesn't even use the full 4GB if you are just using one single app pool.

The situation now is unsatisfying without a clear statement of Symantec, using App Pools or not.

The article "how to implement app pools" does not exist anymore.
http://www.symantec.com/docs/HOWTO82344
So I assume one shouldn't use app pools anymore.

SK's picture

The 1.2 gb limit was for .net 1.1 which was used by 6.x and earlier.

7.x uses .net 2.0 via 3.5

Connect Etiquette: "Mark as Solution" those posts which resolve your problem, and give a thumbs up to useful comments, articles and downloads.

Brandon's picture

Does anyone have a copy of the steps from the article that was pulled? I am tying to undo mine prior to a 7.5 upgrade and I want to make sure I follow what was done. I think I just move all the custom app pools back into the Classic .NET AppPool, but confirmation would be nice. Thank you.

EDIT: I went back to a VM for 7.1 and my Classic .NET AppPool has 72 Applications and my DefaultAppPool has 4. The four are: /Altiris/PackageShare, /SMPHelp, /SymWebInclude, /SymWorkflowPages. The rest are all in the classic.

Stefan S.'s picture

As far as I remember the article just says how to set it and not how to revert it wink

My configuration looked like this:

@echo off
set appcmd=%comspec%\..\inetsrv\appcmd

%appcmd% add apppool -name:Atiris-NS-Agent
%appcmd% set apppool Altiris-NS-Agent -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/NS/Agent" -applicationPool:Atiris-NS-Agent

%appcmd% add apppool -name:TaskManagement
%appcmd% set apppool TaskManagement -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/TaskManagement" -applicationPool:TaskManagement
%appcmd% set app "Default Web Site/Altiris/ClientTaskServer" -applicationPool:TaskManagement

%appcmd% add apppool -name:ActivityCenter
%appcmd% set apppool ActivityCenter -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/ActivityCenter" -applicationPool:ActivityCenter

%appcmd% add apppool -name:PatchManagement
%appcmd% set apppool PatchManagement -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/PatchManagement" -applicationPool:PatchManagement
%appcmd% set app "Default Web Site/Altiris/PatchManagementCore" -applicationPool:PatchManagement
%appcmd% set app "Default Web Site/Altiris/PatchManagementMac" -applicationPool:PatchManagement

%appcmd% add apppool -name:SoftwarePortal
%appcmd% set apppool SoftwarePortal -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/SoftwarePortal" -applicationPool:SoftwarePortal

%appcmd% add apppool -name:ITAnalytics
%appcmd% set apppool ITAnalytics -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/ITAnalytics" -applicationPool:ITAnalytics
%appcmd% set app "Default Web Site/Altiris/ITAnalyticsCSMP" -applicationPool:ITAnalytics
%appcmd% set app "Default Web Site/Altiris/ITAnalyticsSEP" -applicationPool:ITAnalytics

%appcmd% add apppool -name:InventoryRuleManagement
%appcmd% set apppool InventoryRuleManagement -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/InventoryRuleManagement" -applicationPool:InventoryRuleManagement

%appcmd% add apppool -name:Atiris-NS-Agent
%appcmd% set apppool Altiris-NS-Agent -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/NS/Agent" -applicationPool:Atiris-NS-Agent

%appcmd% add apppool -name:TaskManagement
%appcmd% set apppool TaskManagement -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/TaskManagement" -applicationPool:TaskManagement
%appcmd% set app "Default Web Site/Altiris/ClientTaskServer" -applicationPool:TaskManagement

%appcmd% add apppool -name:ActivityCenter
%appcmd% set apppool ActivityCenter -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/ActivityCenter" -applicationPool:ActivityCenter

%appcmd% add apppool -name:PatchManagement
%appcmd% set apppool PatchManagement -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/PatchManagement" -applicationPool:PatchManagement
%appcmd% set app "Default Web Site/Altiris/PatchManagementCore" -applicationPool:PatchManagement
%appcmd% set app "Default Web Site/Altiris/PatchManagementMac" -applicationPool:PatchManagement

%appcmd% add apppool -name:SoftwarePortal
%appcmd% set apppool SoftwarePortal -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/SoftwarePortal" -applicationPool:SoftwarePortal

%appcmd% add apppool -name:ITAnalytics
%appcmd% set apppool ITAnalytics -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/ITAnalytics" -applicationPool:ITAnalytics
%appcmd% set app "Default Web Site/Altiris/ITAnalyticsCSMP" -applicationPool:ITAnalytics
%appcmd% set app "Default Web Site/Altiris/ITAnalyticsSEP" -applicationPool:ITAnalytics

%appcmd% add apppool -name:InventoryRuleManagement
%appcmd% set apppool InventoryRuleManagement -managedPipelineMode:Classic
%appcmd% set app "Default Web Site/Altiris/InventoryRuleManagement" -applicationPool:InventoryRuleManagement

And the revert back like this:

@echo off
set appcmd=%comspec%\..\inetsrv\appcmd

%appcmd% set app "Default Web Site/Altiris/NS/Agent" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool Atiris-NS-Agent

%appcmd% set app "Default Web Site/Altiris/TaskManagement" -applicationPool:"Classic .NET AppPool"
%appcmd% set app "Default Web Site/Altiris/ClientTaskServer" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool TaskManagement

%appcmd% set app "Default Web Site/Altiris/ActivityCenter" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool ActivityCenter

%appcmd% set app "Default Web Site/Altiris/PatchManagement" -applicationPool:"Classic .NET AppPool"
%appcmd% set app "Default Web Site/Altiris/PatchManagementCore" -applicationPool:"Classic .NET AppPool"
%appcmd% set app "Default Web Site/Altiris/PatchManagementMac" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool PatchManagement

%appcmd% set app "Default Web Site/Altiris/SoftwarePortal" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool SoftwarePortal

%appcmd% set app "Default Web Site/Altiris/ITAnalytics" -applicationPool:"Classic .NET AppPool"
%appcmd% set app "Default Web Site/Altiris/ITAnalyticsCSMP" -applicationPool:"Classic .NET AppPool"
%appcmd% set app "Default Web Site/Altiris/ITAnalyticsSEP" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool ITAnalytics

%appcmd% set app "Default Web Site/Altiris/InventoryRuleManagement" -applicationPool:"Classic .NET AppPool"
%appcmd% delete apppool InventoryRuleManagement

Maybe that helps.

Brandon's picture

The app pools upgraded fine with 7.5 after undoing them prior to starting. SMA agent rollouts and Package servers are another story :). Thank you.