How to improve performance of MachPanel Control Panel


Summary

This article provides a summary on how to improve performance of MachPanel Control Panel.

Applies To
This article applies to MachPanel all versions.
Improve performance of MachPanel Control Panel:
To speed up MachPanel for your new sites, please set up Application Pool for each site as follows:
  • Open IIS manager and navigate to section as shown below and then select Application Pool for MachPanel site, afterwards click on “Advanced Settings” and “Recycling” one by one.
  • Advanced Settings: For Advanced settings change settings as shown below and click “Ok” button:



  • Recycling: For “Recycling” confirm settings as under and hit Finish:




Run IIS Pool optimization settings in Configuration Studio start if needed

  1. What and why: Automated above steps to optimize MachPanel website performance.
  2. How it works: Now, when Configuration studio will be started, it will check for “AppPoolToOptimise” key in registry. If this key found or set to “true” or “1”, it assumes optimization settings are already applied, else it will apply following settings to MachPanel website’s application pool:

​​

Changes to Web.Config:

Open Web.config in any editor (start Notepad as Run as Administrator, File >> Open >> Locate web.config from control panel installation directory and make following changes, then save the file.

==================================================================

1: Find section similar to shown below and replace it with following:

<system.web.extensions>

    <scripting>

    <!--      <webServices>-->

  <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->

  <!--

      <jsonSerialization maxJsonLength="2147483644">

        <converters>

          <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>

        </converters>

      </jsonSerialization>

      -->

  <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->

  <!--

        <authenticationService enabled="true" requireSSL = "true|false"/>

      -->

  <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved

           and modified in ASP.NET AJAX Applications, you need to add each property name to the readAccessProperties and

           writeAccessProperties attributes. -->

  <!--

      <profileService enabled="true"

                      readAccessProperties="propertyname1,propertyname2"

                      writeAccessProperties="propertyname1,propertyname2" />

      -->

  <!--</webServices>

  -->

      <scriptResourceHandler enableCompression="true" enableCaching="true" />

     </scripting>

  </system.web.extensions>

2: Find modules section, add/updated highlighted after it:

<modules>

      <remove name="ScriptModule"/>

      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </modules>

    <staticContent>

      <clientCache cacheControlMaxAge ="30.00:00:00" cacheControlMode="UseMaxAge"/>

    </staticContent>

 

3: Set Debug to false if it is true and set optimizeCompilations=True.

    <compilation debug="false" optimizeCompilations="true">


============================================
======================

Perform an IISRESET via command prompt.

NOTE:

  • Please close browser and reopen to see changes in effect.
  • First load of any page is always slow compared to subsequent loads, so verify and load each page couple of times to see the difference.
  • After few loads, you will see MachPanel starts to load much faster for portions of the control panel that have been accessed at least once by any customer.