Guía de rendimiento

Es posible que su aplicación de mesa de ayuda tenga la capacidad de almacenar una gran cantidad de datos, pero esto también puede afectar el rendimiento de su herramienta de mesa de ayuda. Esta guía proporciona ciertas consultas para mejorar el rendimiento de ManageEngine ServiceDesk Plus.

Para ejecutar la consulta, necesita acceder a la base de datos MySQL. Haga clic en el enlace del sistema operativo correspondiente (Windows o Linux) para saber cómo acceder a la base de datos MySQL.

NOTA: Reinicie ServiceDesk Plus después de ejecutar la consulta para que se apliquen los cambios.


La lista de consejos de rendimiento tratados en esta guía es la siguiente:


Ajuste de Java

Se requiere contar con un servidor de 64 bits. La configuración predeterminada establecida en wrapper.conf es suficiente. Sin embargo, en un entorno más grande, configure el tamaño máximo del heap de la siguiente manera:


# Tamaño máximo del heap de Java (en MB)


wrapper.java.maxmemory=4096

 


Habilitar el modo Snapshot de MS SQL
Podemos habilitar Read committed Snapshot en el entorno MSSQL para aumentar el rendimiento de la aplicación. Esto crea un snapshot o una base de datos de solo lectura con sus resultados actuales, separada de su base de datos activa. Por lo tanto, cuando ejecuta una instrucción SELECT para leer sus datos, está leyendo desde una copia de solo lectura de su base de datos. Cuando modifica su base de datos, el cambio ocurre en la base de datos activa y luego se crea una nueva copia o snapshot para la lectura.

Cómo habilitar el aislamiento de snapshot de lectura confirmada (RCSI)

Todas las bases de datos MSSQL suelen tener problemas de bloqueo, lo que puede afectar el rendimiento óptimo de una aplicación. Para evitar estos problemas de rendimiento en ServiceDesk Plus, habilite el aislamiento de snapshot de lectura confirmada (RCSI) siguiendo estos pasos:

Esto puede tardar un tiempo en completarse y también requiere tiempo de inactividad, por lo que le recomendamos programarlo durante un fin de semana.
  1. Detenga la aplicación ServiceDesk Plus.
  2. Inicie sesión en SQL Management Studio.
  3. Ponga la base de datos de ServiceDesk Plus fuera de línea ejecutando 
    USE master; 
    GO
    ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE

    GO
  4. Habilite Read committed Snapshot ejecutando 
    ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE
    GO
  5. Vuelva a poner la base de datos en línea usando 
    USE master; 
    GO
    ALTER DATABASE <db_name> SET ONLINE
    GO
  6. Verifique si ha habilitado RCSI correctamente ejecutando la siguiente consulta.                                                                                                                               

SELECT is_read_committed_snapshot_on FROM sys.databases WHERE [name] = '<db_name>' 

 

Si la salida de esta consulta es 1, ha habilitado RCSI correctamente.

Ahora puede iniciar la aplicación. Para obtener más información sobre las bases de datos MSSQL y RSCI, consulte aquí.


Beneficios de habilitar el modo Snapshot de MS SQL

Será posible que varios usuarios consulten la base de datos al mismo tiempo sin demoras ni interrupciones (aunque la carga sobre la aplicación podría exceder los límites habituales).

Las consultas de registros de los usuarios se mantendrán en una tempdb separada, que no se verá afectada por otras consultas de usuarios que ocurran en paralelo o posteriormente.

Las tablas de la base de datos se cargarán solo después de que una transacción haya finalizado.
 

Escaneo distribuido de activos

Si tiene muchos nodos, por ejemplo, más de 1000, escanearlos a intervalos regulares afectará el rendimiento de ServiceDesk Plus. Para reducir la carga en el servidor, puede escanear estos nodos usando Escaneo distribuido de activos. Todo lo que necesita hacer es instalar servidores remotos de ServiceDesk Plus en los distintos departamentos. Estos servidores remotos escanean los nodos a intervalos regulares y exportan los datos al servidor central de ServiceDesk Plus.

Deshabilitar el conteo de solicitudes

El conteo de solicitudes muestra el número total de solicitudes en la página de vista de lista de solicitudes. Cuanto mayor sea el valor del conteo de solicitudes, más tiempo tardará en mostrar las solicitudes en la página de vista de lista.
El valor del conteo de solicitudes no se puede eliminar. En su lugar, puede elegir ver el conteo de solicitudes haciendo clic en el botón Row Count en la página de vista de lista de solicitudes.
Para mostrar el botón Row Count, use la consulta:

update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_REQUEST_COUNT';

Deshabilitar el temporizador de actualización de solicitudes

El temporizador de actualización refresca la página de vista de lista de solicitudes a intervalos regulares. Pero esto puede ralentizar el rendimiento de ServiceDesk Plus.
Puede deshabilitar la opción Refresh Timer usando la consulta:

update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_WO_REFRESH_TIME';

Deshabilitar el filtro Todas las solicitudes

El filtro 'All Requests' en la vista de lista de solicitudes muestra todas las solicitudes que se han creado hasta el momento, independientemente de su estado. Pero a medida que aumenta el número de solicitudes, el rendimiento de ServiceDesk Plus se ralentiza gradualmente.

En este caso, puede eliminar la opción 'All Requests' del menú desplegable de filtros usando la consulta:

update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_ALL_REQUEST_VIEW';

Reducir el número de solicitudes en la vista de lista

En la página de vista de lista de solicitudes, encontrará un menú desplegable para seleccionar la cantidad de solicitudes que desea ver por página. Limitar este número a 25 o 50 eliminará la carga excesiva de solicitudes y mejorará el rendimiento de ServiceDesk Plus.

Deshabilitar la búsqueda de descripción corta

La descripción corta se refiere a la descripción que aparece cuando pasa el cursor sobre el enlace del asunto de la solicitud en la vista de lista de solicitudes. De forma predeterminada, al realizar una operación de búsqueda, se busca también la descripción corta de una solicitud. Pero cuando tiene una gran cantidad de datos, el rendimiento de ServiceDesk Plus eventualmente disminuye.

Puede deshabilitar esta función usando la consulta:

update GlobalConfig set PARAMVALUE='false' where CATEGORY='SearchShortDescription' and PARAMETER='Status';

Límite de limpieza de elementos recientes

De forma predeterminada, la lista de elementos recientes se elimina una vez cada 15 días. Pero puede mejorar el rendimiento de ServiceDesk Plus aumentando la frecuencia de limpieza.

Ejemplo: Si desea limpiar la lista de elementos recientes cada 5 días, use la consulta:

update GlobalConfig set PARAMVALUE=5 where CATEGORY='CLEANUP_TASK' and PARAMETER='CLEANUP_RI_LIMIT';

El límite máximo para limpiar la lista de elementos recientes es 90. Si desea deshabilitar la limpieza, establezca el valor del parámetro en -1.

Límite de limpieza del registro de errores

De forma predeterminada, la lista del registro de errores se elimina una vez cada 180 días. Pero puede aumentar la frecuencia de limpieza para acelerar el proceso de respaldo.

Ejemplo: Si desea limpiar la lista del registro de errores cada 30 días, use la consulta:

update GlobalConfig set PARAMVALUE=30 where CATEGORY='CLEANUP_TASK' and PARAMETER='CLEANUP_ERROR_LOG_LIMIT';

El límite máximo para limpiar la lista del registro de errores es 365. Si desea deshabilitar la limpieza, establezca el valor del parámetro en -1.

Limpiar la sesión ACC

Es una tabla que contiene los detalles de la sesión, es decir, la información de inicio y cierre de sesión. Estas entradas no son utilizadas por la aplicación y pueden eliminarse periódicamente para obtener un mejor rendimiento de la base de datos. De forma predeterminada, los detalles de la sesión se eliminan una vez cada 90 días, pero para un mejor rendimiento puede aumentar la frecuencia de limpieza.

Ejemplo: Si desea limpiar la sesión ACC cada 30 días, use la consulta:

update GlobalConfig set PARAMVALUE=30 where CATEGORY='CLEANUP_TASK' and PARAMETER='CLEANUP_ACC_SESSION_LIMIT';

El límite máximo para limpiar los detalles de la sesión ACC es 365. Si desea deshabilitar la limpieza, establezca el parámetro en -1.

Eliminar notificaciones generadas por el sistema

Las notificaciones generadas por el sistema son notificaciones creadas y enviadas por el sistema. Puede eliminar todas las notificaciones del sistema o revisar manualmente las notificaciones para eliminar las que no desee.

Si desea eliminar todas las notificaciones del sistema, ejecute la consulta:

delete from notification where senderid=1;

Para obtener la lista de títulos de notificaciones y eliminar las no deseadas, ejecute la consulta:

select notificationtitle from notification limit 100;

Ejemplo: Si el notificationtitle es 'has been added to the group', use la consulta para eliminar las notificaciones bajo ese título:

delete from notification where notificationtitle like '%has been added to the group%';

Aumentar el conteo de caché de usuarios

De forma predeterminada, la cantidad de objetos de datos de usuario que se almacenan en caché es 500. Pero en máquinas de alto rendimiento con mejores configuraciones de RAM, este valor puede aumentarse para almacenar más datos en caché y obtener una respuesta más rápida.

Ejemplo: Si desea aumentar el conteo de caché a 1000, use la siguiente consulta.

Para la compilación 11000 o posterior:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_DO_COUNT';

Para compilaciones anteriores:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_CACHECOUNT';

Aumentar el conteo de caché de técnicos

De forma predeterminada, la cantidad de objetos de datos de técnicos que se almacenan en caché es 300. Pero en máquinas de alto rendimiento con mejores configuraciones de RAM, este valor puede aumentarse para almacenar más datos en caché y obtener una respuesta más rápida.

Ejemplo: Si desea aumentar la caché a 1000, use la siguiente consulta.

Para la compilación 11000 o posterior:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_DO_COUNT';

Para compilaciones anteriores:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='TECHNICIAN_CACHECOUNT';

Aumentar el conteo de caché de IDs de mensajes

De forma predeterminada, la cantidad de IDs de mensajes que se almacenan en caché es 1000. Pero en máquinas de alto rendimiento con mejores configuraciones de RAM, este valor puede aumentarse para almacenar más datos en caché y obtener una respuesta más rápida.

Ejemplo: Si desea aumentar el conteo de caché a 2000, use la consulta:

update GlobalConfig set PARAMVALUE='2000' where PARAMETER='MESSAGEID_CACHECOUNT';

Aumentar el conteo de caché de IDs de correo electrónico / IDs de usuario

De forma predeterminada, la cantidad de IDs de correo electrónico / IDs de usuario que se almacenan en caché es 1000. Pero en máquinas de alto rendimiento con mejores configuraciones de RAM, este valor puede aumentarse para almacenar más datos en caché y obtener una respuesta más rápida.

Ejemplo: Si desea aumentar el conteo de caché a 2000, use la consulta:

update GlobalConfig set PARAMVALUE='2000' where PARAMETER='EMAIL_USERID_CACHECOUNT';

 

Violación del umbral del tamaño del archivo de registro (MSSQL): mejores prácticas

El modelo de recuperación de una base de datos define cómo se registran y conservan las transacciones.

Hay 3 modelos de recuperación en uso: Simple, Completo y Bulk Logged. Aquí, analizaremos solo los modelos Simple y Completo.

En SQL Server, los archivos de registro de transacciones, cuando no se respaldan regularmente, pueden crecer y causar una falla en la base de datos porque el modelo de recuperación, de forma predeterminada, es Completo.

Para evitar este escenario, los administradores de bases de datos pueden realizar lo siguiente:

 

a) Modelo de recuperación completo con respaldos regulares del registro de transacciones

o

b) Configurar el modelo de recuperación de la base de datos en Simple. 
 

Modelo de recuperación completo con respaldo del registro de transacciones

En el modelo de recuperación Simple, no es posible una recuperación a un punto en el tiempo, mientras que sí es posible en el modelo de recuperación Completo.

Por lo tanto, en un entorno de producción, configure su base de datos con el modelo de recuperación Completo, de modo que la opción de recuperación a un punto en el tiempo esté fácilmente disponible.

Siga estos pasos para crear un archivo de respaldo del registro:

  • En SQL SERVER Management Studio, ejecute la siguiente consulta:
BACKUP LOG [<db-name>] 
TO DISK = N'<location>\sdp-backup.trn' 
WITH NOFORMAT, NOINIT,  
NAME = N'<db-name>-Full Log Backup'


Salida:
 

  • En SQL SERVER Management Studio, haga clic derecho en la base de datos que desea respaldar y haga clic en Tasks>>Back Up
     

 

 

  • En el cuadro de diálogo Back Up Database, seleccione Backup type como Transaction Log, en Name, escriba el nombre del conjunto de respaldo, y luego haga clic en Add.
  • En el cuadro de diálogo Back Up Database, en Destination, seleccione Disk, elija la ruta haciendo clic en Add, y haga clic en Ok

 

  • En la lista Script, haga clic en Script Action to Job.

 

 

  •  Proporcione un nombre. 

 

 

  • En el panel izquierdo, haga clic en Schedules y luego en New.

 

 

  • En el cuadro de diálogo Job Schedule Properties, escriba el nombre del trabajo en el cuadro Name y proporcione los siguientes valores:
    • En Frequency, seleccione Occurs daily y Recurs 1 day.
    • En Daily frequency, seleccione Occurs every 10 minutes y Starting at 12:00AM y Ending at 11:59PM.
    • En Duration, seleccione la fecha actual como fecha de inicio y elija sin fecha de finalización.   

 

Modelo de recuperación simple

  • En SQL SERVER Management Studio, ejecute la siguiente consulta:
USE [master]
GO
ALTER DATABASE <db-name> SET RECOVERY SIMPLE WITH NO_WAIT
GO


Salida


 

  • En SQL SERVER Management Studio, haga clic derecho en Database>>Properties

 

  • Elija Options en la página de selección y cambie el modelo de recuperación.


 

En el modelo de recuperación simple, no es posible la recuperación a un punto en el tiempo. Esto se debe a que el registro de transacciones de SQL Server se trunca (borra) automáticamente después de cada transacción completada. Esto significa que los registros del log se eliminan una vez que la transacción se confirma y los cambios se escriben en la base de datos. En consecuencia, los respaldos del registro de transacciones no son compatibles con este modelo.

Reducción del archivo de registro

En SQL Server Management Studio

  • Haga clic derecho en su base de datos y vaya a Tasks -> Shrink -> Files.

 

  • En el cuadro de diálogo Shrink File     

  i)  En Database files and filegroups, elija el File type como Log.

  ii) En Shrink action, elija Release unused space

  • Haga clic en OK para comenzar a reducir el archivo de registro.
     
Nota: Tenga en cuenta que esto tendrá éxito solo cuando el respaldo del registro de transacciones (mencionado en el Paso 1) se haya completado correctamente. Esto también puede programarse como un trabajo.

Registrar estadísticas de uso de CPU y memoria

Cada vez que el servidor de aplicaciones experimente problemas de rendimiento, las estadísticas de uso de CPU y memoria se supervisarán de cerca y se documentarán. Esto aplica solo para Windows.

Habilite el script de monitoreo para registrar las estadísticas de uso de CPU y memoria. Ejecute los siguientes comandos en PowerShell.

  1. Vaya a ServiceDesk Home/tools/monitoring/CPU_Memory_Monitoring.ps1 y desbloquee el script de PowerShell ubicado en el directorio de la aplicación.

 Unblock-File -Path "C:\ServiceDesk Home\tools\monitoring\CPU_Memory_Monitoring.ps1" 
  1. Configure la política de ejecución para ejecutar el script personalizado. Puede usar una de las siguientes políticas de ejecución: Bypass, Unrestricted o RemoteSigned.

Set-ExecutionPolicy RemoteSigned

Con la confianza de las mejores organizaciones del mundo

Brindemos un mejor soporte juntos, más rápido y más fácil