您的服务台应用程序可能具有存储大量数据的功能,但这也会妨碍服务台工具的性能。本指南提供了某些查询,以提高 ManageEngine ServiceDesk Plus 的性能。
要执行查询,需要访问 MySQL 数据库。点击相应的操作系统链接(Windows 或 Linux),了解如何访问 MySQL 数据库。
注意:
请在执行查询后重新启动 ServiceDesk Plus,以便应用变更。
需要使用 64 位服务器。 使用 wrapper.conf 中设置的默认配置即可。 不过,在更大的环境中,请按如下方式设置最大堆大小、
# 最大 Java 堆大小(单位:MB)
wrapper.java.maxmemory=4096
我们可以在 MSSQL 环境中启用已读已提交快照,以提高应用程序的性能。它会为当前结果创建一个快照或只读数据库,与实时数据库分开。因此,当您运行 SELECT 语句读取数据时,您是从数据库的只读副本中读取数据。当您变更数据库时,会在实时数据库上进行变更,然后创建一个新的副本或快照用于读取数据。
所有 MSSQL 数据库通常都存在锁问题,这可能会影响应用程序的最佳性能。 要避免 ServiceDesk Plus 中出现此类性能问题,请按照以下步骤启用读已提交快照隔离 (RCSI):
USE master;
GO
ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE
GO
USE master;
GO
ALTER DATABASE <db_name> SET ONLINE
GO
运行以下查询,检查是否已成功启用 RCSI
SELECT is_read_committed_snapshot_on FROM sys.databases WHERE [name] = '<db_name>'
现在您可以启动应用程序。 有关 MSSQL 数据库和 RSCI 的更多信息,请访问此处。
启用 MS SQL 快照模式的好处
用户可同时查询数据库,不会出现任何延迟或中断(尽管应用程序的负载可能会超过通常的限制)。
用户查询记录将保存在一个单独的 tempdb 中,不会受到同时或随后进行的其他用户查询的影响。
数据库表只有在事务完成后才会上载。
分布式资产扫描
如果您有很多节点,例如超过 1000 个,那么定期扫描这些节点会妨碍 ServiceDesk Plus 的性能。为了减轻服务器的负担,可以使用分布式资产扫描来扫描这些节点。您只需在各部门安装远程 ServiceDesk Plus 服务器。这些远程服务器定期扫描节点,并将数据导出到中央 ServiceDesk Plus 服务器。
请求计数显示请求列表视图页面中的请求总数。请求次数值越大,列表视图页面显示请求的时间就越长。
请求次数值无法删除。你可以选择通过点击请求列表视图页面中的 “行计数 ”按钮来查看请求计数。
要显示行计数按钮,请使用查询:
update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_REQUEST_COUNT';
刷新计时器会定期刷新请求列表视图页面。 但这会降低 ServiceDesk Plus 的性能。
您可以使用查询禁用刷新计时器选项:
update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_WO_REFRESH_TIME';
请求列表视图中的 “所有请求 ”过滤器会显示迄今为止创建的所有请求,无论状态如何。但随着请求数量的增加,ServiceDesk Plus 的性能会逐渐降低。
在这种情况下,可以使用查询从过滤器下拉菜单中移除 “所有请求 ”选项,
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。
这是一个包含会话详细信息(即登录和注销信息)的表。这些条目不会被应用程序使用,可以定期删除,以提高数据库性能。默认情况下,会话详细信息每 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;
示例: 如果 notificationtitle 是 "已添加到组",则使用查询删除该标题下的通知:
delete from notification where notificationtitle like '%has been added to the group%';
默认情况下,缓存的用户数据对象数量为 500。 但如果是内存配置较好的高端机器,则可以增加该值,以缓存更多数据,加快响应速度。
示例: 如果您想将缓存计数增加到 1000,请使用下面的查询。
适用于 11000 版或更新版本:
update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_DO_COUNT';
对于旧版本:
update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_CACHECOUNT';
默认情况下,缓存的技术员数据对象数量为 300。 但如果是内存配置较好的高端机器,则可以增加该值,以缓存更多数据,加快响应速度。
示例: 如果要将缓存增加到 1000,请使用下面的查询。
适用于 11000 版或更新版本:
update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_DO_COUNT';
对于旧版本:
update GlobalConfig set PARAMVALUE='1000' where PARAMETER='TECHNICIAN_CACHECOUNT';
默认情况下,缓存的信息 ID 数量为 1000。 但如果是内存配置较好的高端机器,则可以增加该值,以缓存更多数据,加快响应速度。
示例: 如果您想将缓存计数增加到 2000,请使用查询
update GlobalConfig set PARAMVALUE='2000' where PARAMETER='MESSAGEID_CACHECOUNT';
默认情况下,缓存的电子邮件 ID / 用户 ID 数量为 1000。 但如果是内存配置较高的高端机器,则可以增加该值,以缓存更多数据,加快响应速度。
示例: 如果您想将缓存计数增加到 2000,请使用查询:
update GlobalConfig set PARAMVALUE='2000' where PARAMETER='EMAIL_USERID_CACHECOUNT';
数据库的恢复模式定义了事务的记录和保留方式。
目前使用的恢复模式有 3 种: 简单、完整和批量记录。在此,我们只讨论简单模式和完整模式。
在 SQL Server 中,事务日志文件如果没有定期备份,就会不断增加并导致数据库故障,因为默认的恢复模式是 “完整”。
为防止出现这种情况,DBAdmin 可以执行以下操作:
a) 全恢复模式,定期备份事务日志
或
b) 将数据库恢复模式设置为简单。
带事务日志备份的完全恢复模式
在简单恢复模式下,不可能进行时间点恢复,而在完全恢复模式下则可以。
因此,在生产环境中,应将数据库配置为完全恢复模式,这样就可以方便地使用时间点恢复选项。
按照以下步骤创建备份日志文件:
在 SQL SERVER Management Studio 中,执行以下查询:
输出:
在 SQL SERVER 管理工作室中
右键单击要备份的数据库,单击任务>>备份
在备份数据库对话框中,选择备份类型为事务日志,在名称下键入备份集的名称,然后单击添加。
在 "备份数据库 "对话框中,在 "目的地 "下选择 "磁盘",单击 "添加 "选择路径,然后单击 "确定"。
在脚本列表中,单击 "Script Action to Job"。
提供名称。
从左侧面板单击计划表,然后单击新建。
在任务计划属性对话框中,在名称框中键入任务名称并提供以下值:
在 "频率 "下,选择 "每天发生 "和 "每天重复"。
在 "每日频率 "下,选择 "每 10 分钟出现一次 "和 "上午 12:00 开始,晚上 11:59 结束"。
在持续时间下,选择开始日期为当前日期,不选择结束日期。
在 SQL SERVER Management Studio 中执行以下查询:
输出
在 SQL SERVER 管理工作室中
步骤 1:右键单击数据库>>属性
步骤 2:在选择页面中选择选项,然后变更恢复模式。
请注意,在简单恢复模式中,不可能实现时间点恢复。
在 SQL Server 管理工作室中
右键单击数据库,转到任务 -> 收缩 -> 文件。
2. 在收缩文件对话框中
i) 在数据库文件和文件组下选择文件类型为日志。
ii) 在收缩操作下选择释放未使用的空间
3. 单击 "确定 "开始缩小日志文件。