Ajuste de Liberty
Puede ajustar los parámetros y atributos de Liberty.
Acerca de esta tarea
Procedimiento
- Ajuste la JVM. El ajuste de la JVM es un paso de ajuste muy importante tanto si configura un entorno de desarrollo como de producción. Cuando ajuste la JVM para Liberty, utilice el archivo jvm.options en el directorio ${server.config.dir}. Puede especificar cada uno de los argumentos de JVM que desea utilizar, una opción en cada línea. Para obtener más información, consulte Personalización del entorno de Liberty. Un ejemplo del archivo jvm.options es el siguiente:
-Xms50m -Xmx256m
Para un entorno de desarrollo, puede estar interesado en acelerar el arranque del servidor, para lo que se recomienda establecer el tamaño de almacenamiento dinámico mínimo en un valor pequeño y el tamaño de almacenamiento dinámico máximo en el valor que sea necesario para la aplicación. Para un entorno de producción, si establece el tamaño de almacenamiento dinámico mínimo y tamaño de almacenamiento dinámico máximo en el mismo valor, puede proporcionar el máximo rendimiento al evitar la expansión y la contracción del almacenamiento dinámico.
- Ajuste los servicios del canal de transporte. Los servicios del canal de transporte gestionan las conexiones de cliente, el proceso de E/S para HTTP, las agrupaciones de hebras y las agrupaciones de conexiones. Para las aplicaciones en Liberty, están disponibles los siguientes atributos para los distintos elementos que pueden utilizarse para mejorar el rendimiento de tiempo de ejecución, la escalabilidad o ambos.
- maxKeepAliveRequests de httpOptions
- Esta opción especifica el número máximo de solicitudes persistentes que se permiten en una única conexión HTTP si están habilitadas las conexiones persistentes. Un valor -1 significa ilimitado. Esta opción admite aplicaciones de alto rendimiento o baja latencia y conexiones SSL para utilizarlas en situaciones donde la creación de una nueva conexión puede ser muy costosa. A continuación se muestra un ejemplo de cómo se codifica esta opción en el archivo server.xml:
<httpOptions maxKeepAliveRequests="-1" />
- maxPoolSize de connectionManager
- Esta opción especifica el número máximo de conexiones físicas para la agrupación de conexiones. El valor predeterminado es 50.
El valor óptimo depende de las características de la aplicación.
Para una aplicación en la que cada hebra obtiene una conexión con la base de datos, puede empezar con una correlación de 1:1 con el atributo coreThreads. A continuación se muestra un ejemplo de cómo se codifica esta opción en el archivo server.xml:
<connectionManager ... maxPoolSize="40" />
- purgePolicy de connectionManager
- Esta opción especifica qué conexiones se deben destruir cuando se detecta una conexión en punto muerto en una agrupación. El valor predeterminado es la agrupación completa. Se recomienda depurar sólo la conexión anómala. A continuación se muestra un ejemplo de cómo se codifica esta opción en el archivo server.xml:
<connectionManager ... purgePolicy="FailingConnectionOnly" />
- numConnectionsPerThreadLocal de connectionManager
- Esta opción especifica el número de conexiones de base de datos que se almacenan en la memoria caché para cada hebra de ejecutor. Este valor puede proporcionar una gran mejora en las máquinas de varios núcleos (8+) de gran tamaño, al reservar el número especificado de conexiones de base de datos para cada hebra.
- La utilización del almacenamiento local de hebra para las conexiones puede aumentar el rendimiento de las aplicaciones en los sistemas multihebra. Cuando se establece numConnectionsPerThreadLocal en
1 o más, estas conexiones por hebra se almacenan en el
almacenamiento local de hebra.
Cuando utiliza numConnectionsPerThreadLocal, tenga en cuenta otros dos valores:
- El número de hebras de aplicación
- El número máximo de conexiones de agrupación de conexiones
<connectionManager ... numConnectionsPerThreadLocal="1" />
- statementCacheSize de dataSource
- Esta opción especifica el número máximo de sentencias preparadas en memoria caché por conexión. Para establecer esta opción, complete el siguiente requisito previo:
- Revise el código de aplicación (o un rastreo de SQL recopilado de la base de datos o el controlador de base de datos) para todas las sentencias preparadas exclusivas.
- Asegúrese de que el tamaño de memoria caché sea mayor que el número de sentencias.
<dataSource ... statementCacheSize="60" >
- isolationLevel de dataSource
- El nivel de aislamiento del origen de datos especifica el grado de integridad de datos y simultaneidad, que a su vez controla el nivel de bloqueo de la base de datos.
Hay disponibles cuatro opciones diferentes en orden de máximo rendimiento (integridad mínima) a rendimiento mínimo (integridad máxima), como se muestra a continuación.
- TRANSACTION_READ_UNCOMMITTED
- Se pueden producir lecturas no permitidas, lecturas no repetibles y lecturas fantasma.
- TRANSACTION_READ_COMMITTED
- Se impiden las lecturas no permitidas, pero se pueden producir lecturas no repetibles y lecturas fantasma.
- TRANSACTION_REPEATABLE_READ
- Se impiden las lecturas no permitidas y las lecturas no repetibles, pero se pueden producir lecturas fantasma.
- TRANSACTION_SERIALIZABLE
- Se impiden las lecturas no permitidas, las lecturas no repetibles y las lecturas fantasma.
<dataSource ... isolationLevel="TRANSACTION_READ_COMMITTED">
- Ajuste el ejecutor predeterminado.
El ejecutor predeterminado de Liberty se ajusta automáticamente y se adapta a la carga de trabajo actual añadiendo o eliminando hebras dinámicamente. Para la mayoría de cargas de trabajo, el ejecutor no requiere ningún ajuste, y se recomienda que no cambie los valores del ejecutor a menos que se encuentre con problemas específicos durante la creación de hebras.
Si es necesario, puede configurar los parámetros coreThreads y maxThreads del elemento executor en el archivo server.xml para establecer límites inferiores y superiores para el código de ajuste automático de Liberty. El valor coreThreads normalmente no es necesario porque el ejecutor contiene código agresivo anti-punto muerto que añade hebras para liberar al ejecutor de escenarios de punto muerto. Esporádicamente el código anti-punto muerto añade más hebras de las necesarias. En esta situación, puede utilizar el parámetro maxThreads del elemento executor para limitar el número de hebras que se permite crear al ejecutor.
- Disminuya el tiempo de respuesta de los servlets.
Para disminuir el tiempo de respuesta de servlets, añada el atributo siguiente al archivo server.xml:
<webContainer skipMetaInfResourcesProcessing="true"/>
- Reduzca el tiempo de CPU del servidor desocupada.
Para reducir el tiempo de CPU desocupada del servidor, añada los atributos siguientes al archivo server.xml:
<applicationMonitor dropinsEnabled="false" updateTrigger="disabled"/> <config updateTrigger="disabled"/>
Si se añaden los atributos, el servidor ya no supervisa la configuración ni las actualizaciones de aplicaciones.
- Ajuste del tiempo de inicio.
- CDI 1.2
- De forma predeterminada, la característica CDI 1.2 explora todos los archivados de la aplicación. La
característica CDI 1.2 puede aumentar el tiempo de arranque sustancialmente y tienen el máximo efecto
en las aplicaciones más grandes. Se puede inhabilitar la exploración implícita de los archivados para las anotaciones estableciendo el valor de
enableImplicitBeanArchives en false. Este valor omite la exploración de archivados, a menos que contengan un archivo beans.xml.
<cdi12 enableImplicitBeanArchives="false"/>
Nota: La característica cdi-1.2 se puede incluir incluso si no está en la sección <features> del archivo server.xml porque otras características, como webProfile-7.0 y javaee-7.0, incluyen la característica cdi-1.2. Compruebe en el archivo messages.log "El servidor ha instalado las siguientes características:" para ver si se ha instalado cdi-1.2.
Subtemas
- Ajuste de Liberty para aplicaciones seguras
Puede ajustar Liberty para maximizar el rendimiento de las aplicaciones seguras. - Ajuste de repositorios LDAP federados en Liberty
Puede mejorar el rendimiento de los repositorios LDAP federados mediante la supervisión y el ajuste de la memoria caché y los elementos de la agrupación de contexto en el archivo server.xml.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_tun
Nombre de archivo:twlp_tun.html