性能指南

     

    您的服务台应用程序可能具备存储大量数据的功能,但这也可能影响服务台工具的性能。本指南提供了一些查询,用于提升 ManageEngine ServiceDesk Plus MSP 的性能。

     

    注意: 执行查询后,请重启 ServiceDesk Plus MSP 以使更改生效。


    本指南中讨论的性能提升技巧有:


    Java 调优

    我们建议服务器机器如果专用于 ServiceDesk Plus MSP,至少配备 2GB RAM。如果您有足够的 RAM 但仍存在性能问题,请按照以下说明操作,

    1. 进入 ManageEngine\ServiceDesk\conf 文件夹

    2. 编辑 wrapper.conf 文件,用 wordpad 打开,并根据服务器机器的 RAM 大小修改参数:

      默认情况下,最大 java 堆大小为 512 MB。

    如果您有 3GB RAM,则将 512 修改为 768,

     

    # 最大 Java 堆大小(单位:MB)

    wrapper.java.maxmemory=512

    修改为

    # 最大 Java 堆大小(单位:MB)

    wrapper.java.maxmemory=768

    如果您有 4GB RAM,则将 512 修改为 1024

    如果 RAM 为 3GB 或 4GB,除最大内存配置外,您还可以更改以下内容,

    wrapper.java.additional.19=-XX:PermSize=64m

    可更改为,

    wrapper.java.additional.19=-XX:PermSize=128m

    并且,

    wrapper.java.additional.20=-XX:MaxPermSize=128m

    可更改为,

    wrapper.java.additional.20=-XX:MaxPermSize=256m

     

     

    启用 MS SQL 快照模式

    我们可以在 MSSQL 环境中启用 Read committed Snapshot,以提升应用程序性能。它创建了一个快照或只读数据库,独立于您的实时数据库。因此,当您运行 SELECT 语句读取数据时,实际上是在读取数据库的只读副本。当您更改数据库时,操作发生在实时数据库上,随后会创建新的副本或快照供读取使用。

    如何启用 Read committed snapshot isolation (RCSI)

    所有 MSSQL 数据库通常存在锁定问题,可能影响应用程序的最佳性能。为避免 ServiceDesk Plus MSP 中出现此类性能问题,请按照以下步骤启用 Read committed snapshot isolation (RCSI):

    此操作可能需要一些时间完成,且需要停机维护,请安排在周末进行。
    1. 停止 ServiceDesk Plus MSP 应用程序。
    2. 登录 SQL Management Studio。
    3. 通过执行以下命令将 ServiceDesk Plus MSP 数据库离线, 

      USE master; 
      GO
      ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE

      GO

    4. 通过执行以下命令启用 Read committed snapshot, 

      ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE

      GO

    5. 使用以下命令将数据库上线, 

      USE master; 
      GO
      ALTER DATABASE <db_name> SET ONLINE
      GO

    6. 运行以下查询检查是否成功启用了 RCSI,                                                                                                                                               

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

    若该查询结果为 1,则表示您已成功启用 RCSI。

    现在可以启动应用程序。有关 MSSQL 数据库和 RSCI 的更多信息,请访问 此处.

    启用 MS SQL 快照模式的好处

    可实现同时用户查询数据库而无延迟或中断(尽管应用负载可能超过平常限制)。

    用户查询的数据将保存在单独的 tempdb 中,不受其他并发或后续用户查询影响。

    直到事务完成,数据库表才会上传。

     

    数据归档

    您可以定期安排归档已关闭和已解决的请求以提升 ServiceDesk Plus 的性能。请参考 数据归档 了解更多关于请求归档的信息。

     

    分布式资产扫描

    如果您有大量节点,比如超过 1000 个,定期扫描这些节点会影响 ServiceDesk Plus 的性能。为减轻服务器负载,您可以使用 分布式资产扫描。您只需在各部门安装远程 ServiceDesk Plus MSP 服务器,这些远程服务器定期扫描节点并将数据导出到中央 ServiceDesk Plus 服务器。

     

    禁用请求计数

    请求计数显示请求列表视图页面中请求的总数。请求计数值越大,显示请求列表的时间越长。

    无法移除请求计数值。您可以选择通过点击请求列表视图页面中的 行计数 按钮来显示请求计数。

    要显示行计数按钮,请使用查询,

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

     

    禁用请求刷新定时器

    刷新定时器会定期刷新请求列表视图页面,但这可能降低 ServiceDesk Plus 的性能。

    timer1

    您可以使用以下查询禁用刷新定时器选项,

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

    计时器

     

    禁用所有请求过滤器

    请求列表视图中的“所有请求”过滤器显示至今创建的所有请求,无论状态如何。但随着请求数量增加,ServiceDesk Plus 的性能会逐渐下降。

    perf-guide1

    您可以使用以下查询从过滤器下拉菜单中移除“所有请求”选项,

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

     

    减少列表视图中的请求数量

    在请求列表视图页面,您可以选择每页显示的请求数量。将该数量限制为 25 或 50 可消除加载请求的延迟,从而提升 ServiceDesk Plus 性能。

     

    禁用简短描述搜索

    简短描述指的是当您将鼠标悬停在请求主题链接上时显示的描述。默认情况下,进行搜索操作时会搜索请求的简短描述。但当数据量大时,ServiceDesk Plus 的性能会逐渐下降。

    您可以使用以下查询禁用此功能,

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

     

    清理最近项限制

    默认情况下,最近项列表每 15 天清理一次。您可以通过增加清理频率来提升 ServiceDesk Plus 的性能。

    例如: 如果想每 5 天清理一次最近项列表,请使用查询,

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

    最近项列表清理的最大限制为 90 天。如果想禁用清理,将参数值设置为 -1。

     

    清理错误日志限制

    默认情况下,错误日志列表每 180 天清理一次。您可以增加清理频率以加快备份过程。

    例如: 若想每 30 天清理一次错误日志列表,请使用查询,

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

    错误日志列表的最大清理限制为 365 天。若想禁用清理,将参数值设置为 -1。

     

    清理 ACC 会话

    ACC 会话表包含会话详情,即登录和注销信息。这些条目不被应用程序使用,可定期删除以优化数据库性能。默认情况下,会话详情每 90 天清理一次,但为提升性能,您可以增加清理频率。

    例如: 如果您想每 30 天清理一次 ACC 会话,请使用查询,

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

    ACC 会话详情清理的最大限制为 365 天。若想禁用清理,将参数设置为 -1。

     

    删除系统生成的通知

    系统生成通知指由系统生成并发送的通知。您可以选择删除所有系统通知,或手动检查后删除。

     

    若要删除所有系统通知,请执行查询,

    delete from notification where senderid=1;

     

    若要获取通知标题列表以便删除不需要的通知,请执行查询,

    select notificationtitle from notification limit 100;

     

    例如: 若通知标题为“has been added to the group”,则使用以下查询删除该标题下的通知,

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

     

    增加用户缓存数量

    默认情况下,缓存的用户数据对象数量是 500。但对于高端机器且内存配置较好时,可增加此值以缓存更多数据,提高响应速度。

    例如: 若想将缓存数量增加到 1000,请使用查询,

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

    增加技术员缓存数量

    默认情况下,缓存的技术员数据对象数量是 300。但对于高端机器且内存配置较好时,可增加此值以缓存更多数据,提高响应速度。

    例如: 。若想将缓存数量增加到 1000,请使用查询,

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

     

    增加消息 ID 缓存数量

    默认情况下,缓存的消息 ID 数量是 1000。但对于高端机器且内存配置较好时,可增加此值以缓存更多数据,提高响应速度。

    例如: 。若想将缓存数量增加到 2000,请使用查询,

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

     

    增加电子邮件 ID / 用户 ID 缓存数量

    默认情况下,缓存的电子邮件 ID / 用户 ID 数量是 1000。但对于高端机器且内存配置较好时,可增加此值以缓存更多数据,提高响应速度。

    例如: 。若想将缓存数量增加到 2000,请使用查询,

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


    日志文件大小阈值违规(MSSQL):最佳实践

     

    数据库的恢复模型定义了事务的日志记录和保留方式。

    目前使用的恢复模型有三种: 简单型, 完整型,以及 批量日志型。此处仅讨论简单型和完整型。

    在 SQL Server 中,如果事务日志文件未定期备份,可能会无限增长导致数据库故障,因为默认恢复模型为完整型。

    为避免这种情况,数据库管理员可以选择:

     a) 采用完整恢复模型并定期备份事务日志

     

    b) 将数据库恢复模型设置为简单型。
     

    完整恢复模型与事务日志备份  

    简单恢复模型不支持时间点恢复,而完整恢复模型支持。

    因此,在生产环境中,应将数据库配置为完整恢复模型,以便灵活使用时间点恢复。

    按以下步骤创建备份日志文件:

    在 SQL SERVER Management Studio 中执行以下查询:

     

    BACKUP LOG [<db-name>]
    TO DISK = N'<location>\sdp-backup.trn'
    无格式,无初始化,  
    名称 = N'<db-name>-完全日志备份'


    输出:

     

    在 SQL SERVER Management Studio 中

    右键单击要备份的数据库,点击 任务 > 备份

     

     

     

    在“备份数据库”对话框中,选择 备份类型为事务日志,在“名称”下,输入备份集名称,然后点击 添加.

    在“备份数据库”对话框中,“目标”下 选择磁盘 ,点击选择路径,然后点击 添加确定 在“脚本”列表中,点击.

     

     

    将操作脚本为作业 提供名称。.

     

     

    从左侧面板,点击

     

     

    计划 ,然后点击新建 在“作业计划属性”对话框中,在“名称”框中输入作业名称,并提供以下值:.

     

     

    在“频率”下,选择“每天发生”,周期为1天。

    在“每日频率”下,选择“每10分钟发生一次”,起始时间为12:00AM,结束时间为11:59PM。

    在“持续时间”下,选择开始日期为当前日期,选择无结束日期。

    简单恢复模式   

     

     

    使用 [master]

       

    在 SQL SERVER Management Studio 中执行以下查询:

     

    修改数据库 <db-name> 设置为简单恢复模式,带无等待
    GO
    第1步:右键单击
    GO

    输出

     



    在 SQL SERVER Management Studio 中

    数据库 属性 > 第2步:选择

     

     


    选项 页面并更改恢复模式。 注意,简单恢复模式下,无法进行时间点恢复。

     


    在 SQL Server Management Studio 中

    日志文件收缩  

    右键单击数据库,选择

    收缩 任务 > 文件 > 2. 在“收缩文件”对话框中.

     

     

    i) 在数据库文件和文件组下选择     

      文件类型 日志 ii) 在“收缩操作”下选择.

      释放未使用的空间 3. 点击.

     

     

    确定 以开始收缩日志文件。

    Zoho 公司。 保留所有权利。