Servidor de producción ColdFusion: optimización del rendimiento

Servidor de producción ColdFusion: optimización del rendimiento

Estoy intentando determinar la configuración óptima para mi servidor ColdFusion PRODUCTION. El servidor tiene las siguientes especificaciones.

ColdFusion: Enterprise versión 10
SO: Windows Server 2012R2
Procesador estándar: Intel(R) Xeon(R) CPU E5-2660 v2 a 2,20 GHz
Memoria instalada (RAM): 20,0 GB
Tipo de sistema: Sistema operativo de 64 bits, x64- procesador basado

Mis configuraciones de Java y JVM desde el CFIDE son:

Tamaño mínimo del montón (en MB): 2048
Tamaño máximo del montón (en MB): 4096

Argumentos de JVM
-server -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib - Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random

Tengo varios sitios web ejecutándose en este servidor de producción, y todos usan ColdFusion. El servidor de la base de datos está completamente separado, por lo que este servidor es responsable de la aplicación ColdFusion y los procesos del servidor web.

Los sitios web se basan completamente en datos y todos se extraen de la base de datos ubicada en mi servidor de base de datos de producción. Últimamente, he visto que el servicio ColdFusion se bloquea porque está maximizando la CPU. La memoria es estable, es sólo la CPU la que está al máximo.

¿Alguien puede hacer sugerencias sobre cómo puedo ajustarlo para mejorar el rendimiento general y al mismo tiempo reducir la tensión en la CPU?

¡Gracias!

Respuesta1

La causa más probable de que su CPU maximice la recolección de basura, que en realidad tiene que ver con la memoria. Cuando dice "la memoria es estable", ¿quiere decir que el sistema muestra que CF solo está usando el 4G que usted le permite, o quiere decir que el monitor ColdFusion muestra un uso de memoria estable?

Creo que la solución a su problema será obtener la combinación correcta de GC y asignación de memoria, de modo que la CPU realice pequeñas limpiezas periódicas en lugar de grandes limpiezas ocasionales. Pero como dijo Miguel, la única forma de averiguarlo es mediante pruebas de carga. jMeter es genial. Juega con ello.

información relacionada