Today I have seen another performance problem caused by Site Deployment API. Here Site Deployment was implemented as a Web application. This causes the Site Deployment API to be loaded into the worker process of the application. So far so good.
The problem is that Site Deployment requires a significant amount of memory to be done and this memory is taken from the worker process.
In the situation I have seen the MCMS website and the application running site deployment was configured to run in the same application pool – so the same worker process was used. When Site Deployment was started memory was allocated from the worker process and due to this ASP.NET started garbage collection. During Garbage Collection the managed threads will be stopped and this caused the performance problems.
Solution: move the application running site deployment to a separate application pool.