#Caché

1 关注者 · 982 帖子

  

InterSystems Caché 是一个多模型 DBMS 和应用服务器。

查看此处提供的更多详细信息

文档

问题 j ay · 二月 18, 2023

系统:windows 内存:64GB

环境:jdk11 代码:

       IRISConnection conn = (IRISConnection)
                DriverManager.getConnection
                        ("jdbc:IRIS://localhost:" + superserverPort + "/" + namespace, username, password);
        IRIS iris = IRIS.createIRIS(conn);


        String getLastFullBackupInfo = iris.classMethodString("Backup.General", "GetLastFullBackupInfo");
        System.out.println(getLastFullBackupInfo);
        String getAbortStatus = iris.classMethodString("Backup.General", "GetAbortStatus");
        System.out.println(getAbortStatus);
        String externalFreeze = 
1
0 238
问题 Shuai Wang · 二月 15, 2023

您好,我们的客户仍在使用较旧的 cache 2016.1 版本,我们这边需要适配 python 作为 client 连接 cache 进行一些操作。 但是查阅相关文档后发现,需要自行编译安装 python 驱动。

我们手头上只有 windows 版本的 cache 安装包,但是我们python适配的环境是 linux。 所以我想找一下是否有 cache 现有的 python 安装包或者 cache linux 安装版本,我自行安装。

谢谢。

2
0 414
文章 Lele Yang · 二月 21, 2023 4m read

** 2018 年 2 月 12 日修订

虽然本文是关于 InterSystems IRIS 的,但它也适用于 Caché、Ensemble 和 HealthShare 发行版。

介绍

内存以页为单位进行管理。 Linux 系统上的默认页面大小为 4KB。 Red Hat Enterprise Linux 6、SUSE Linux Enterprise Server 11 和 Oracle Linux 6 引入了一种根据系统配置提供 2MB 或 1GB 大小的增加页面大小的方法,称为 HugePages。

起初 HugePages 需要在启动时分配,如果管理或计算不当可能会导致资源浪费。因此,各种 Linux 发行版引入了默认启用 2.6.38 内核的Transparent HugePages。这是一种自动创建、管理和使用 HugePages 的方法。以前的内核版本也可能具有此功能,但可能未标记为 [always] 而是设置为 [madvise]。

Transparent Huge Pages (THP) 是一种 Linux 内存管理系统,它通过使用更大的内存页面来减少在具有大量内存的机器上进行Translation Lookaside Buffer (TLB) 查找的开销。然而,在当前的 Linux 版本中,THP 只能映射单个进程的堆栈空间。

0
0 238
公告 Tete Zhang · 二月 16, 2023

InterSystems 产品支持的平台 - 版本更新 (2023 年 2 月

我们经常收到有关 InterSystems IRIS 数据平台支持的平台和框架的问题。此更新旨在分享最近的更改以及我们对即将发生的更改的当前决策。(预测未来是一项棘手的工作,不应将此视为我们对未来支持平台和框架的承诺。)

我们计划大约每 3 个月发布一次此类更新,然后在一年内重新评估。如果您觉得此更新有用,请告诉我们!我们很感激您的建议。

关于更新……

IRIS 生产操作系统和 CPU 架构

红帽企业版 Linux

  • 近期变动
    • IRIS 2022.1.2 添加了对RHEL 9.0的支持。 9.0 是一个操作系统主版本,将 Linux 内核更新到 5.14,将 OpenSSL 更新到 3.0, 将 Python 更新到 3.9
    • IRIS 2022.2.0 移除了对 RHEL 7.x 的支持。 IRIS 的早期版本仍支持 RHEL 7.9。
  • 即将发生的变化
    • RHEL 9.1 于 2022 年 11 月发布。Red Hat 仅在 RHEL 9.2 发布之前支持此次版本。
    • RHEL 9.2 计划于 2023 年第二季度末发布。 Red Hat 计划在未来4年内继续支持 9.2。 InterSystems 计划通过一项我们称为“操作系统次版本认证”的新流程,对 RHEL 9
0
0 227
InterSystems 官方 Claire Zheng · 二月 15, 2023

InterSystems 纠正了一个可能导致 InterSystems IRIS® 和 Caché 无法在 Windows 上利用大页共享内存的问题,即使这些产品得到的信息是已分配到了大页内存。这会对系统性能产生不利影响。

该问题是由于 Windows 10 中的一个更改引起的,该更改需要 InterSystems IRIS® 和 Caché做相应的修改。请注意,此问题还会影响所有基于 InterSystems IRIS® 或 Caché 的 InterSystems 产品。以下版本的 Windows 会出现此问题:

Windows 10(版本 1703 及以上)

Windows 11

Windows Server 2019

Windows Server 2022

Windows Server 2016 不受影响。

作为参考,此问题的更正标识为 RJF533。此更正将包含在所有未来的 InterSystems IRIS® 和 Caché 发行版中。该更正也作为受支持产品版本的补丁提供。

InterSystems 建议采取以下措施以避免潜在的严重系统性能下降:

  • 对于使用大页内存的系统,推迟升级到受影响的 Windows 版本,直到实施更正。
  • 对于已经运行受影响的 Windows 版本并使用大页内存的系统,在任何有计划的系统负载增加之前实施更正。

In

0
0 233
文章 姚 鑫 · 二月 12, 2023 2m read

第七十四章 使用 irisstat 实用程序监控 IRIS - 查看 irisstat 输出

查看 irisstat 输出

可以立即查看 irisstat 数据(通过终端)或重定向到输出文件以供以后分析。查看数据的最常见方法是:

注意:当 IRIS 被强制关闭时,irisstat 会运行以捕获系统的当前状态。作为紧急关闭程序的一部分,输出被添加到消息日志中。

irisstat 文本文件

irisstat 报告可以重定向到文件而不是终端,如果想收集一组 IRIS 工具(诊断报告任务、IRISHung 脚本、^SystemPerformance 实用程序)未提供的一组 irisstat 选项,这可能很有用或者如果在运行这些工具时遇到问题。

诊断报告任务

诊断报告任务会创建一个包含基本信息和高级信息的 HTML 日志文件,InterSystems 全球响应中心 (WRC) 可以使用该文件来解决系统问题。

注意:诊断报告任务不能在挂起的系统上运行;如果系统挂起,请参阅本附录中的 IRISHung 脚本。

IRISHung 脚本

IRISHung 脚本是一个操作系统工具,用于在 IRIS 实例挂起时收集系统数据。位于 install-dir\bin 目录中的脚本名称是特定于平台的,如下表中指定:

PlatformScript name
Microsoft WindowsI
0
0 222
文章 姚 鑫 · 二月 11, 2023 7m read

第七十三章 使用 irisstat 实用程序监控 IRIS - 使用选项运行 irisstat

使用选项运行 irisstat

不带选项运行 irisstat 会生成基本报告。通常,运行 irisstat 以获得特定信息。要指定目标信息,可以包括或排除如下选项:

  • 要包含(打开)一个选项,请指定一个标志,后跟一个 1(或其他级别)。
  • 要排除(关闭)一个选项,请指定一个标志后跟一个 0

例如,要在 irisstat 报告中包含全局文件表 (GFILETA) 部分,请使用 -m1 选项:

C:\iris-install-dir\Bin\irisstat -m1

或者,要关闭默认的基本选项,请使用 -a0 选项:

C:\iris-install-dir\bin\irisstat -a0

许多选项具有比 01 更详细的级别。这些附加级别被描述为具有“位”,它们以十进制显示为 2 的幂,并控制有关选项的特定类型的信息。例如,显示 PID 表的基本 -p 选项用 1 打开;但是,使用 2 添加 swcheck 列,使用 4 添加 pstate 列。等等。这些位可以组合;例如,如果要查看 2 位和 4 位显示的信息,请指定 -p6。要请求所有位,请使用 -1,如下所示:

bash-3.00$ ./irisstat -p-1

此外,可以在单个 irisstat 命令中组合多个标志。

0
0 170
文章 姚 鑫 · 二月 9, 2023 5m read

第七十一章 使用 REST API 监控 IRIS - 活动量指标

活动量指标

  • iris_interop_avg_processing_time {id="namespace",hosttype="HostType",host="host",production="production",messagetype="MessageType"} - 在生产和命名空间中处理指定 MessageType 的消息所需的平均时间长度(以秒为单位)。 HostType 可以是服务、操作或参与者(即进程)。 MessageType 是用户定义的;如果未指定 MessageType,则返回“-”。如果输出已配置为包括主机标签,则单独提供每个主机的消息处理时间。
  • iris_interop_avg_queueing_time {id="namespace",hosttype="HostType",host="host",production="production",messagetype="MessageType"} - 指定 MessageType 的消息在生产和命名空间中由 HostType 的主机处理时在队列中花费的平均持续时间(以秒为单位)。 HostType 可以是服务、操作或参与者(即进程)。 MessageType 是用户定义的;如果未指定 MessageType,则返回“-”。如果输
0
0 152
文章 Duan Haihua · 二月 8, 2023 1m read

示例:在Caché的代码中执行shell命令“free -m |grep -i mem”

方法一:使用%Net.Remote.Utility类中的RunCommandViaZF方法

Set tSC = ##class(%Net.Remote.Utility).RunCommandViaZF("free -m |grep -i mem",.tTempFileName,,,0)

set file=##class(%FileCharacterStream).%New()
s file.Filename=tTempFileName

获得文件流后,再读取文件流中内容即可。

此方法本质是执行$ZF(-1)方法,由于$ZF(-1)在ENSEBLE2016.2后续的版本中不支持,导致后续版本可能会报错。

方法二:使用$ZF(-100)方法

s cmd="free"s tTempFileName=##class(%File).GetDirectory()_"output.txt"s errfile=##class(%File).GetDirectory()_"err.txt"s cmdFlags="/SHELL/STDOUT="""_tTempFileName_"""/STDERR="""_errfile_""""k args
s args = 5s arg
0
0 217
文章 姚 鑫 · 二月 8, 2023 3m read

# 第七十章 使用 REST API 监控 IRIS - 互操作性指标

除了上一节中描述的指标外, IRIS 实例还可以记录有关活动互操作性产品的指标,并将它们包含在 `/metrics` 端点的输出中。默认情况下禁用这些互操作性指标的记录。要启用它,必须为要监控的每个互操作性产品执行以下步骤:

1. 为运行要监控的生产的 `IRIS` 实例打开一个终端会话。如有必要,通过执行以下命令切换到与生产关联的命名空间:

```
set $namespace = "[interopNS]"
```
其中 `[interopNS]` 是命名空间名称。

2. 在终端中,执行以下命令以启用当前命名空间内活动生产的指标收集(`SAM` 指的是系统警报和监控, 监控解决方案):

```
do ##class(Ens.Util.Statistics).EnableSAMForNamespace()
```

注意:如果为命名空间启用了指标记录但相应的生产未激活,则 `/metrics` 端点不会返回任何指标。

`Ens.Util.Statistics` 类提供了自定义 `/metrics` 端点输出的方法。例如,调用方法 `DisableSAMIncludeHostLabel` 将为整个生产提供聚合指标,而不是为每个主机单独提供它们。

完成此步骤后可用的指标在下面的基本互操作性指标表中进行了

0
0 169
文章 姚 鑫 · 二月 7, 2023 8m read

# 第六十九章 使用 REST API 监控 IRIS

每个 `IRIS®` 数据平台实例都包含一个提供实例统计信息的 `REST` 接口。 `REST API` 提供了一种从多台运行 `IRIS` 的机器收集信息的方法,使能够详细监控构成您的应用程序的所有实例。

本附录描述了 `/api/monitor` 服务提供的指标。这些指标与开源监控和警报工具 `Prometheus` 兼容。配置 `Prometheus` 以抓取多个连接的 `IRIS` 实例提供了整个系统的内聚视图,从而更容易评估系统是否正常有效地运行。

注意:有关创建和使用 REST 接口的介绍,请参阅第一眼:使用 产品开发 `Rest` 接口。

# /api/monitor Service

`/api/monitor` 服务提供有关运行它的  `IRIS` 实例的信息。默认情况下,`/api/monitor Web` 应用程序启用了“未经身份验证”的访问权限。有关为此服务设置身份验证的信息,请参阅创建 `REST` 服务中的保护 REST 服务一章。

此 API 具有以下两个端点:

- `/metrics Endpoint`,,它返回所有实例指标,并且可以配置为返回特定的应用程序指标。
- `/alerts Endpoint`,它返回自上次抓取端点以来发布的所有系统警报。

注意: IRIS 将所有

0
0 316
文章 姚 鑫 · 二月 6, 2023 3m read

第六十八章 使用 Web 服务监控 IRIS - 监控网络客户端

SYS.WSMon.Client 类和相关类是一个 IRIS 网络服务客户端,可以在同一个 IRIS 实例或另一个 IRIS 实例中调用 SYS.WSMon.Server 网络服务的方法。

此 Web 客户端类使用以下 LOCATION 参数:

Parameter LOCATION = "http://server:port/csp/sys/SYS.WSMon.Service.cls" 

其中,服务器是运行 IRIS 的服务器,端口是 IRIS Web 服务服务器使用的端口。

以与使用其他 IRIS 网络服务客户端相同的方式使用此网络客户端:

  1. 创建 Web 客户端类的实例。
  2. 如果需要,设置其 Location 属性。

如果要使用的 SYS.WSMon.Server Web 服务与客户端位于不同的计算机上,或者如果它使用 52773 以外的端口,则这是必需的。

  1. 如果需要,设置其他属性。
  2. 调用网络方法。
  3. 检查 web 方法返回的值。

详细信息取决于调用的 Web 方法;请参阅“监视 Web 服务的 Web 方法”部分并查看返回类型的类参考。

下面显示了一个示例终端会话:

USER>set $namespace = "%SYS"
 
%SYS>set client=##class(SYS.WSMon.
0
0 147
文章 姚 鑫 · 二月 5, 2023 3m read

第六十七章 使用 Web 服务监控 IRIS - 监控 Web 服务的 URL

对于给定的 IRIS 实例,日志监控 Web 服务可从以下 URL 获得:

http://server:port/csp/sys/SYS.WSMon.Service.cls

其中,服务器是运行 IRIS 的服务器,端口是 IRIS Web 服务服务器使用的端口。例如:

http://localhost:52773/csp/sys/SYS.WSMon.Service.cls

同样,此 Web 服务的 WSDL 可从以下 URL 获得:

http://server:port/csp/sys/SYS.WSMon.Service.cls?WSDL=1

监控 Web 服务的 Web 方法

类中的 SYS.WSMon.Service提供以下 Web 方法:

EnumBuffer()

method EnumBuffer() as %XML.DataSet

在枚举所有缓冲区大小的统计信息中返回 %XML.DataSet的实例。对于此实例,数据集使用类中 SYS.Stats.BufferSample() 类查询。

EnumDatabase()

method EnumDatabase() as %XML.DataSet

在中返回 %XML.DataSetO 的实例,该枚举该实例的所有数据库。对于此实例,

0
0 118
文章 姚 鑫 · 二月 4, 2023 2m read

第六十六章 使用 Web 服务监控 IRIS - IRIS 对 WS-Monitoring 的支持概述

本附录介绍并简要描述了如何使用 IRIS® 数据平台支持 WS-Management 规范,它使能够通过 SOAP 远程监控 IRIS 实例。

IRIS 对 WS-Monitoring 的支持概述

按照 WS-Management 规范,SYS.WSMon 包提供了一个 Web 服务,可以使用它来远程监控 IRIS 实例。它在功能上类似于 SNMP 接口(请参阅本指南的“使用 SNMP 监控 IRIS”附录),但使用内置的 IRIS 网络服务支持。

WS-Management 的支持包括以下元素:

  • 提供返回有关 IRIS 实例信息的方法的日志监控 Web 服务(SYS.WSMon.Service)。
  • 一个 IRIS Web 服务客户端(SYS.WSMon.Client),可以调用此监控 Web 服务或另一个 IRIS 实例的监控 Web 服务中的方法。

可以创建自己的 Web 客户端,而不是使用此 Web 客户端,可能使用第三方技术。

此 Web 服务和客户端使用几个启用 XML 的类来表示监视信息。

这些类包括 SYS.WSMon.wsEvent,它可以表示事件。

可以接收和处理事件的示例事件接收器 Web 服务(SYS.WSMon.EventSink)。通过 S

0
0 221
文章 姚 鑫 · 二月 3, 2023 5m read

第六十五章 使用 SNMP 监控 IRIS - 用户定义的 SNMP 监视器类示例

本节介绍如何定义可通过 SNMP 查询的用户应用程序监视器类的示例。应用程序监视器仅包括 SNMP 数据中具有 %Monitor 数据类型的属性。

Example Sample Class

以下是此示例的示例类:

Class SNMP.Example Extends %Monitor.Adaptor
{

  /// Give the application a name. This allows you to group different 
  /// classes together under the same application level in the SNMP MIB.
  /// The default is the same as the Package name.
  Parameter APPLICATION = "MyApp";

  /// This groups a set of properties together at the "table" level of the
  /// SNMP MIB hierarchy. The default is the Class name.
  Parameter GROUPNAME = "MyTable";

  ///
0
0 166
文章 TZ Zhuang · 二月 3, 2023 5m read

目的

这两个工具(RanRead 和 RanWrite)用于在数据库(或一对数据库)内生成随机读写事件,以测试每秒输入/输出的操作数 (IOPS)。它们可以一起使用或分开单独使用,以测试 IO 硬件容量、验证目标 IOPS 并确保系统拥有可接受的磁盘响应时间。从 IO 测试中收集的结果将因配置而异,具体取决于 IO 子系统。在运行这些测试之前,请确保相应的操作系统监控和存储级别监控已配置,这些捕获的 IO 性能指标可以为以后的分析提供帮助。我们推荐使用 IRIS 中捆绑的系统性能工具,例如^SystemPerformance。

请注意,这里使用的工具是对先前版本的更新。之前的版本可在这里找到。

0
0 289
文章 姚 鑫 · 二月 2, 2023 4m read

第六十四章 使用 SNMP 监控 IRIS - 扩展 IRIS MIB

应用程序员可以添加托管对象定义并扩展 IRIS 子代理为其提供数据的 MIB。这不是一个完整的 MIB 编辑器或 SNMP 工具包;相反,它是一种添加简单应用程序指标的方法,可以通过 SNMP 浏览或查询这些指标。

注意:对象必须遵循基本的 IRIS SNMP 结构,对 SNMP 表结构的支持有限(仅支持整数值索引),并且不会创建 SNMP 陷阱(请参阅新选项卡类中的 %Monitor.AlertOpens) 对管理信息的 SNMP 结构有一个基本的了解是很有帮助的。

要创建这些对象,请执行以下操作:

  1. 在继承 %Monitor.Adaptor 的类中创建 IRIS 对象定义。
  2. 执行 SNMP 类方法以在 SNMP 中启用这些被管理对象,并创建 MIB 定义文件供管理应用程序使用。实现此目的的方法是 MonitorTools.SNMP.CreateMIB()

该方法为 %Monitor 数据库中定义的特定应用程序创建私有企业 MIB 树的一个分支。除了为应用程序创建实际的 MIB 文件之外,该方法还创建了 MIB 树的内部轮廓。 IRIS 子代理使用它来注册 MIB 子树,为 GETNEXT 请求遍历树,并引用特定对象方法以在 GET 请求中收集实例数据。

所有托管对象定义都使用与 IRIS

0
0 150
文章 姚 鑫 · 二月 1, 2023 5m read

第六十三章 使用 SNMP 监控 IRIS - SNMP 故障排除

SNMP 故障排除

IRIS 子代理(运行 ^SNMP 例程)取决于操作系统提供的 SNMP 主代理的正确安装和配置。正如 IRIS 作为子代理中所述,^SNMP 例程与此主代理通信有两种主要方式:

  • ^SNMP 主要在 TCP 端口 705 上使用 AgentX 协议。
  • Windows 上,^SNMP 使用安装为 iscsnmp.dllWindows 扩展代理 DLL

操作系统应该提供配置 SNMP 代理的详细说明,系统管理员应该花一些时间来了解如何执行此操作。如果在使 IRISSNMP 代理通信时遇到问题,以下是一些基本的故障排除指南和提示。

所有系统

  • 确保 SNMP 代理独立于 IRIS 工作,并且至少可以查询 mib-2.system 树以获取一般系统信息。如果失败,在 Windows 上检查 Windows SNMP 服务;在 UNIX®/Linux 上查看 SNMP 守护程序 (snmpd) 是否正在运行。
  • 如果可以成功查询 SNMP 系统信息但不能查询 IRIS MIB,则检查 IRIS 中运行 ^SNMP 例程的后台进程。尝试使用 $$start^SNMP() 函数启动它。如果例程启动但没有继续运行,请检查 IRISinstall-dir/mgr 目录中的 mess
0
0 228
文章 姚 鑫 · 一月 31, 2023 4m read

第六十二章 使用 SNMP 监控 IRIS

本附录描述了 IRIS 数据平台和 SNMP(简单网络管理协议)之间的接口。 SNMP 是一种通信协议,作为一种管理 TCP/IP 网络(包括单个网络设备和一般计算机设备)的方法已获得广泛接受。它的流行扩大了它作为许多企业管理工具的底层结构和协议的用途。这是它对 IRIS 的主要重要性:一种向各种管理工具提供管理和监控信息的标准方法。

SNMP 既是一种标准消息格式,也是管理对象的一组标准定义。它还提供用于添加自定义管理对象的标准结构,这是 IRIS 用来定义其管理信息以供其他应用程序使用的功能。

SNMPIRIS 结合使用

SNMP 定义了客户端-服务器关系,其中客户端(网络管理应用程序)连接到在远程网络设备或计算机系统上执行的服务器程序(称为 SNMP 代理)。客户端请求并从该代理接收信息。有四种基本类型的 SNMP 消息:

  • GET – 获取特定托管对象的数据
  • GETNEXT – 获取分层树中下一个管理对象的数据,允许系统管理员遍历设备的所有数据
  • SET——为特定的管理对象设置值
  • TRAP——被管理设备或系统发送的异步警报

SNMP MIB(管理信息库)包含管理对象的定义。每个设备都会发布一个文件,也称为其 MIB,该文件定义了它支持的标准 MIB 的哪一部分,以及托管对象的任何自定义定义。对于 IRIS,这是位于

0
0 215
文章 姚 鑫 · 一月 29, 2023 3m read

第六十章 使用 ^PERFSAMPLE 监控进程 - 预定义分析示例

预定义分析示例

以下是从过程状态维度开始的分析示例。

在此示例中,^PERFSAMPLE319994 个样本中找到了 76755 个处于可样本状态的进程样本(如果选择了忽略空闲的选项,则为非空闲):

– PERFSAMPLE for Local Process Activity. 3.89s at 11/17/2020 16:59:59
76755 events in 319994 samples [24.0 %-total] | CPULoad* 8.22
Multiple jobs included: 2191 samples per job
----------------------------'?' for help----------------------------
Process State [24.0 %-total]
GGET [8.46 %-total]
RUN [5.88 %-total]
GDEF [3.16 %-total]
GSETW [1.63 %-total]
BSETW [1.21 %-total]
GDEFW [1.18 %-total]
GGETW [0.931 %-total]
SEMW [0.685 %-total]
GSET [0.311 %-total]
L
0
0 129
文章 姚 鑫 · 一月 28, 2023 3m read

第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本

本主题介绍 ^PERFSAMPLE 实用程序,这是一种用于分析 IRIS® 数据平台流程的工具。该实用程序处理实时系统上的活动,并呈现采样活动的易于导航的细分,这可以提供对系统的洞察力。例如,可以通过检查 ECP 请求来发现应用程序瓶颈,或者通过查看等待事件的类型来识别整个系统的瓶颈。

要开始,请从感兴趣的 IRIS 实例上的 %SYS 命名空间运行 ^PERFSAMPLE

USER>set $namespace = "%SYS"
 
%SYS>do ^PERFSAMPLE

Collecting Samples

运行^PERFSAMPLE后,立即显示以下消息:

This utility performs high frequency sampling of processes on the system,
analyzing and counting data points in different ways to understand where
processes are spending most of their time. On ECP Data Servers, this also
offers sampling of the current request being processed and t

0
0 171
文章 姚 鑫 · 一月 27, 2023 4m read

第五十八章 使用 ^BLKCOL 监视块冲突

当一个进程被迫等待访问一个块时,就会发生块冲突。过多的块冲突会降低应用程序性能。

Using ^BLKCOL

IRIS® 数据平台中,^BLKCOL 实用程序对指定时间段(默认为 10 秒)内的块碰撞进行采样,记录这段时间内指定时间间隔(默认为 10 毫秒)内的最新块碰撞。对于每个记录的冲突,^BLKCOL 不仅标识块,还标识涉及的全局及其在块中的第一个和最后一个引用,以及创建试图访问块的进程的例程和行。

注意:irisstat -D 选项,如本指南附录“使用 irisstat 实用程序监视 IRIS”中的使用选项运行 irisstat 中所述,也对块冲突进行采样,但仅识别涉及的块。

irisstat -D 的输出包含在 ^SystemPerformance 实用程序生成的报告中,如本指南的使用 ^SystemPerformance 监控性能一章所述。

运行 ^BLKCOL 时,可以指定以下内容:

  • 采样周期的长度(以秒为单位)
  • 采样之间的间隔(以毫秒为单位)
  • 是否收集例程详细信息(默认为是)
  • 是否将输出格式化为:
    • 具有最高冲突计数的块列表(默认)
    • 涉及的所有块的列表in collisions
    • 来自检测到的所有块碰撞的逗号分隔值,按块编号和例程排序和计数
    • 来自所有检测到的块碰撞的逗号分隔值,未排序(RAW
    • 例程中的碰撞热点列表
0
0 136
文章 姚 鑫 · 一月 26, 2023 3m read

第五十七章 历史监视器 - 汇总

汇总

Application Monitor 执行的 %Monitor.System.HistoryPerf%Monitor.System.HistorySys 类也在每天结束时创建每小时和每天的摘要。摘要被定义为持久类 SYS.History.HourlySYS.History.Daily;它们包括所有四个基类作为嵌入对象。

对于每个度量属性,系统可以计算每小时和全天的平均值、最大值(高水位线)、标准差、最小值、中值或总数。对于每个基类(SYS.History.PerformanceOSYS.History.WriteDaemonSYS.History.SystemUsageSYS.History .Database) 和每个汇总期间类,使用每个基类的 SetSummary() 方法。默认情况下,History Monitor 计算每小时和每日摘要的每个类的平均值、最大值和标准偏差。

注意:SYS.History.Performance 的计数器属性已标准化为这些计算的每秒速率(Total 除外)。

清除数据 创建摘要后,Application Monitor 会自动清除间隔和每小时数据库。间隔数据的默认值为七 (7) 天,每小时数据的默认值为 60 天,但可以使用 SYS.History.PerfData SYS.Hi

0
0 151
文章 姚 鑫 · 一月 25, 2023 3m read

第五十六章 历史监视器

History Monitor 维护性能和系统使用指标的历史数据库。其主要目的是:

  • 提供性能基准并帮助分析性能问题。
  • 帮助分析一段时间内的系统使用情况以进行容量规划。

该数据库在 SYS.History 类包中定义并保存在 %SYS 命名空间中。数据库结构的所有细节都在那里发布,并且可以通过 SQL 或正常的持久对象访问访问数据。 SYS.History 中的类文档还包含对所有可用的单个属性、方法和查询的描述。

数据通常分为性能(请参阅 SYS.History.Performance)和系统使用情况(请参阅 SYS.History.SystemUsage)数据。性能指标旨在以较短的时间间隔(默认情况下为 30 秒)进行采样,系统使用数据以较长的时间间隔(默认情况下为 5 分钟)进行采样。在每天开始时,将各个时间间隔样本作为平均值、最大值、最小值、标准偏差、中值和总计汇总到每小时和每天的表格中。可以选择为每个度量类保留哪些汇总函数(如果有)。间隔和每小时数据可能会在定义的天数(默认分别为七 (7) 天和 60 天)后自动清除;每日摘要用于长期分析,可以手动清除。

基本指标

所有收集的指标都在 SYS.History 的四个 %SerialObject 类中定义。这些相同的类用作 IntervalHourlyDaily 数据库的基础,因此所有属性都定

0
0 124
文章 姚 鑫 · 一月 24, 2023 4m read

第五十五章 使用 ^mgstat 监控性能 - Seizes、ASeizes 和 NSeizes

ColumnDescriptionNotes
Glorefs全局引用(数据库访问)。指示代表当前工作负载正在发生的工作量;尽管全局引用会消耗 CPU 时间,但由于缓冲池的存在,它们并不总是需要物理读取。
RemGrefs *远程全局引用(数据库访问)。指示代表分布式缓存集群应用程序服务器生成的全局引用数。
GRratio全局引用与远程全局引用的比率。
PhyRds从磁盘物理读取。大量的物理读取可能表明存在性能问题;可以通过增加数据库(全局)缓冲区的数量来提高性能。
Rdratio逻辑块读取与物理块读取的比率,但如果物理块读取为零,则为零。
Gloupds全局更新 (sets or kills).
RemGupds *远程全局更新。
Rourefs例程引用(包括标签^例程)。
RemRrefs *远程例程引用。
RouLaS例程加载和保存(从磁盘获取或保存到磁盘)。大量的例行加载/保存可能表明存在性能问题;可以通过增加例程缓冲区的数量来提高性能。
RemRLaS *远程例程加载和保存。
PhyWrs物理写入磁盘。
WDQsz写入守护进程队列大小(以块为单位)。不是每秒。

0
0 150
文章 姚 鑫 · 一月 23, 2023 3m read

第五十四章 使用 ^mgstat 监控性能

本章介绍 ^mgstat 实用程序,它是一种用于收集基本性能数据的工具。

注意:此实用程序可能会在不同版本之间更新。 ftp://ftp.intersys.com/pub/performance/下载 newmgstat.xml 的信息。

必须从 %SYS 命名空间调用 ^mgstat,并且可以使用以下位置参数:

ArgumentDescription
sample time此参数指定采样计数器的频率(以秒为单位)。如果未指定,默认值为 2 秒。
注:如果指定的采样时间大于 10 秒,^mgstat 会将其减少到 10 秒。请参阅此表中的样本参数数量。
number of samples此参数指定要获取的最大样本数。如果未指定,则默认为 10 次迭代。
注:如果 ^mgstat 减少了采样时间,它会增加指定的样本数以确保运行的持续时间(采样时间 * 样本数)实际上与没有修改任何参数时的持续时间相同。
filename此参数指定 ^mgstat 生成的 .mgst 文件的文件名,相对于 install-dir\mgr。如果未指定,则默认文件名为 ServerName_InstanceName_Date_Time.mgst
page length如果以交互方式运行 ^mgstat,此参数指定在重复标题行之前要
0
0 115
文章 姚 鑫 · 一月 22, 2023 3m read

第五十三章 使用 ^SystemPerformance 监视性能 - InterSystems IRIS Linux 平台性能数据报告

  • %SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。

  • Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。

  • cpf file * - 当前活动配置文件的副本。

  • irisstat -c - 使用命令 irisstat cache -p-1 -c-1 -e1 -m8 -n2 -N127 在运行过程中以均匀的间隔采集四个样本。以下是对每个参数的简要说明:

    • -p-1: 对进程表进行采样以包括进程和全局状态信息。
    • -c-1: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。
    • -e1: SYSLOG 错误表。
    • -m8: 文件表,其中包括所有 IRIS.DAT 文件及其属性。
    • -n2: 网络结构表,包括本地到远程数据库的映射。
    • -N127: 客户端和服务器连接的 ECP 统计信息。
  • irisstat -D - 使用命令 irisstat cache --f1 -D10,100 在运行过程中以均匀的间隔采集八个样本。以下是对每个参数的简要说明:

    • -fl: 基本标志。
    • -D10,100: 在 10 秒的总采样周期内,每
0
0 105
文章 姚 鑫 · 一月 21, 2023 3m read

第五十二章 使用 ^SystemPerformance 监视性能 - IBM AIX® 平台的 InterSystems IRIS 性能数据报告

  • %SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。

  • AIX info * - oslevel 的输出。 uname -aprtconflspv 命令

  • Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。

  • cpf file * - 当前活动配置文件的副本。

  • cpu type * - 有关安装的处理器以及是否启用 SMT 的信息; lsattr -El proc0 的输出。

  • irisstat -c - 使用命令 irisstat cache -p-1 -c-1 -e1 -m8 -n2 -N127 在运行过程中以均匀的间隔采集四个样本。以下是对每个参数的简要说明:

    • -p-1: 对进程表进行采样以包括进程和全局状态信息。
    • -c-1: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。
    • -e1: SYSLOG 错误表。
    • -m8: 文件表,其中包括所有 IRIS.DAT 文件及其属性。
    • -n2: 网络结构表,包括本地到远程数据库的映射。
    • -N127: 客户端和服务器连接的 ECP 统计信息。
0
0 171
文章 Lilian Huang · 一月 19, 2023 10m read

在上一篇文章中,我们看到了最常用的HL7消息类型之一--ADT(入院、出院、转院)的结构,以及ADT^A04的例子和它所有字段的描述。现在让我们来看看另一个数据流,它与测试订单的订购和履行有关。我说的是ORM(从2.5版本开始,你应该使用特定的消息来订购测试,如OMG、OML、OMD、OMS、OMN、OMI和OMP),ORL和ORU消息。在一个非常简化的情况下,数据的交换可能看起来像这样。

让我们更详细地看一下这些消息。

0
0 903