Cómo ajustar la configuración de machine.config para mejorar el rendimiento

Ajustar la configuración en sus archivos de configuración en ASP.Net puede proporcionar un buen aumento de rendimiento. Estos archivos incluyen machine.config y web.config.

El archivo web.config es específico de la aplicación y se crea de forma predeterminada cuando crea una aplicación web o un sitio web en Visual Studio. Tenga en cuenta que hay otro archivo de configuración llamado aspnet.config; está disponible desde ASP.Net 2.0 en adelante. Este archivo está disponible en la raíz de la carpeta .Net Framework de su sistema. El archivo de configuración de la máquina, mientras tanto, se denomina machine.config y reside en el directorio% runtime install path% \ Config.

Si bien la configuración del archivo web.config se aplica solo a la aplicación, la configuración presente en el archivo machine.config se aplica a todo el equipo. Tenga en cuenta que el archivo machine.config se instala cuando instala .Net Framework en su sistema. Solo puede tener un archivo machine.config en su sistema (solo uno por sistema) y reside en el directorio \ WINDOWS \ Microsoft.Net \ Framework \ vXXXX \ CONFIG.

Cabe señalar que las configuraciones definidas en el archivo machine.config son reemplazadas por las definidas en el archivo web.config en su aplicación. Una aplicación puede tener varios archivos web.config. Por cierto, el archivo web.config hereda la configuración definida en machine.config.

Configuración recomendada de machine.config

En esta sección, exploraremos las configuraciones que se pueden aplicar al archivo machine.config para mejorar el rendimiento. Tenga en cuenta que los valores predeterminados y recomendados se han especificado para cada configuración.

maxconnection

Puede modificar la configuración de system.Net en su archivo machine.config para permitir que su aplicación atienda más solicitudes simultáneas. El valor predeterminado es 2, mientras que el valor recomendado es 12 por CPU.

   

       

   

Aquí están las configuraciones recomendadas para la sección de modelo de proceso en su archivo machine.config para obtener beneficios de rendimiento. Puede modificar la configuración en el modelo de proceso en su archivo machine.config para controlar subprocesos de trabajo, subprocesos de E / S, etc. Tenga en cuenta que un subproceso es la unidad de ejecución más pequeña dentro de un proceso.

limite de memoria

Esta configuración se usa para especificar el porcentaje de la memoria total del sistema que usaría el proceso. El valor predeterminado es 40. El valor recomendado para esta configuración depende de muchos factores. Tales consideraciones incluyen (pero no se limitan a) las siguientes:

  • Si la aplicación está instalada en una caja aislada
  • Ocurrencia de pérdidas de memoria en la aplicación

maxWorkerThreads

Esta configuración se utiliza para definir el número máximo de subprocesos de trabajo que están disponibles en el grupo de subprocesos en un momento dado. Un grupo de subprocesos consta de una serie de subprocesos, o una colección de subprocesos para ser precisos, y se puede utilizar para realizar varias actividades en segundo plano. MSDN afirma: "Un grupo de subprocesos es una colección de subprocesos de trabajo que ejecutan de manera eficiente devoluciones de llamada asincrónicas en nombre de la aplicación. El grupo de subprocesos se utiliza principalmente para reducir el número de subprocesos de la aplicación y proporcionar administración de los subprocesos de trabajo".

El valor predeterminado de maxWorkerThreads es 20 por CPU y el valor recomendado es 100.

minWorkerThreads

Esta configuración determina el número mínimo de subprocesos de trabajo que están disponibles en el grupo de subprocesos para satisfacer una solicitud entrante. El valor predeterminado es 1, mientras que el valor recomendado es maxWorkerThreads / 2. Entonces, si ha definido maxWorkerThreads como 100 en su archivo machine.config, debe especificar 50 como minWorkerThreads.

maxIOThreads

Esta configuración se utiliza para definir el número máximo de subprocesos que se asignan para realizar operaciones de entrada y salida (E / S). Estas operaciones incluyen operaciones de bases de datos, llamadas a servicios web, acceso al sistema de archivos, etc. El valor predeterminado es 20 por CPU, mientras que se recomienda un valor de 100.

minIOThreads

Se utiliza para definir el número mínimo de subprocesos de E / S que están disponibles en el grupo de subprocesos en un momento determinado. El valor predeterminado es 1 mientras que el valor recomendado es maxIOThreads / 2. Por lo tanto, si ha definido maxIOThreads como 100 en su archivo machine.config, debe mencionar 50 como minIOThreads.

Ponlo todo junto

Pongamos ahora todas estas configuraciones a trabajar. La siguiente lista de códigos ilustra la configuración típica en un archivo machine.config según la configuración recomendada descrita anteriormente en este artículo.

 

        

            

        

    

    

        

             maxWorkerThreads = "100"

             maxIoThreads = "100"

             minWorkerThreads = "50"

             minIoThreads = "50"

         />