亲爱的社区开发者们,
有一些开发者已经通过了InterSystems 官方认证,并希望在个人资料头像上有一个漂亮的绿色标识.png)
以及您社区中的所有证书,以便其他人更好地了解你的能力……![]()
那么,要将认证添加到您的社区资料中,您需要执行 3 个简单的步骤:
1️⃣ 打开社区个人主页(点击右上角头像即可)
2️⃣ 找到InterSystems 认证( InterSystems Certification)
3️⃣ 点击加载我的认证(Load my certification)
就这么简单!
亲爱的社区开发者们,
有一些开发者已经通过了InterSystems 官方认证,并希望在个人资料头像上有一个漂亮的绿色标识.png)
以及您社区中的所有证书,以便其他人更好地了解你的能力……![]()
那么,要将认证添加到您的社区资料中,您需要执行 3 个简单的步骤:
1️⃣ 打开社区个人主页(点击右上角头像即可)
2️⃣ 找到InterSystems 认证( InterSystems Certification)
3️⃣ 点击加载我的认证(Load my certification)
就这么简单!
消息查看器可以重新发送消息,但不适合重新发送大量消息(>100)。为此,您应该使用如下的Object Script代码:
以下是从过程状态维度开始的分析示例。
在此示例中,^PERFSAMPLE 在 319994 个样本中找到了 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.本主题介绍 ^PERFSAMPLE 实用程序,这是一种用于分析 IRIS® 数据平台流程的工具。该实用程序处理实时系统上的活动,并呈现采样活动的易于导航的细分,这可以提供对系统的洞察力。例如,可以通过检查 ECP 请求来发现应用程序瓶颈,或者通过查看等待事件的类型来识别整个系统的瓶颈。
要开始,请从感兴趣的 IRIS 实例上的 %SYS 命名空间运行 ^PERFSAMPLE:
USER>set $namespace = "%SYS"
%SYS>do ^PERFSAMPLE
运行^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.^BLKCOL 监视块冲突当一个进程被迫等待访问一个块时,就会发生块冲突。过多的块冲突会降低应用程序性能。
Using ^BLKCOL在 IRIS® 数据平台中,^BLKCOL 实用程序对指定时间段(默认为 10 秒)内的块碰撞进行采样,记录这段时间内指定时间间隔(默认为 10 毫秒)内的最新块碰撞。对于每个记录的冲突,^BLKCOL 不仅标识块,还标识涉及的全局及其在块中的第一个和最后一个引用,以及创建试图访问块的进程的例程和行。
注意:irisstat -D 选项,如本指南附录“使用 irisstat 实用程序监视 IRIS”中的使用选项运行 irisstat 中所述,也对块冲突进行采样,但仅识别涉及的块。
irisstat -D 的输出包含在 ^SystemPerformance 实用程序生成的报告中,如本指南的使用 ^SystemPerformance 监控性能一章所述。
大家好,
我在 OEX 上加载了一个新软件包,我也计划在本月参加比赛。
简而言之,它为您提供以下内容。
请检查一下。
谢谢你们。
Application Monitor 执行的 %Monitor.System.HistoryPerf 和 %Monitor.System.HistorySys 类也在每天结束时创建每小时和每天的摘要。摘要被定义为持久类 SYS.History.Hourly 和 SYS.History.Daily;它们包括所有四个基类作为嵌入对象。
对于每个度量属性,系统可以计算每小时和全天的平均值、最大值(高水位线)、标准差、最小值、中值或总数。对于每个基类(SYS.History.PerformanceO、SYS.History.WriteDaemon、SYS.History.SystemUsage 或 SYS.History .Database) 和每个汇总期间类,使用每个基类的 SetSummary() 方法。默认情况下,History Monitor 计算每小时和每日摘要的每个类的平均值、最大值和标准偏差。
注意:SYS.History.Performance 的计数器属性已标准化为这些计算的每秒速率(Total 除外)。
清除数据 创建摘要后,Application Monitor 会自动清除间隔和每小时数据库。间隔数据的默认值为七 (7) 天,每小时数据的默认值为 60 天,但可以使用 SYS.History.PerfData 和 SYS.
以下是 2023 年 InterSystems 开发者工具大赛的技术红利,您可以在投票中获得额外加分:
请参阅下面的额外加分项详细信息:
嵌入式 Python的使用 - 3 分
在您的应用程序中使用嵌入式 Python,可以获得 3 分加分。您至少需要 InterSystems IRIS 2021.2及以上版本。
如果应用程序使用在 docker 容器中运行的 InterSystems IRIS,则该应用程序将获得“Docker 容器”奖励。这是最简单的模板。
ZPM 包部署 - 2 分
如果您为您的全栈应用程序构建和发布 ZPM(ObjectScript 包管理器)包,您可以获得2分加分,以便它可以使用如下方式部署:
zpm "install your-multi-model-solution"
已安装的ZPM 客户端命令,请参考:
项目的在线演示 - 2 分
如果您将项目作为在线演示提供给云,则可额外获得 3 个奖励积分。您可以自己完成,也可以使用此模板- 这是一个 示例。这是有关如何使用它的视频。
使用学习服务中的一系列资源制定您今年的学习目标。在2023 年 1 月简报中,了解如何找到与您的工作任务相关的有针对性的学习资源,并通过课堂课程或练习题为认证做准备。
History Monitor 维护性能和系统使用指标的历史数据库。其主要目的是:
该数据库在 SYS.History 类包中定义并保存在 %SYS 命名空间中。数据库结构的所有细节都在那里发布,并且可以通过 SQL 或正常的持久对象访问访问数据。 SYS.History 中的类文档还包含对所有可用的单个属性、方法和查询的描述。
数据通常分为性能(请参阅 SYS.History.Performance)和系统使用情况(请参阅 SYS.History.SystemUsage)数据。性能指标旨在以较短的时间间隔(默认情况下为 30 秒)进行采样,系统使用数据以较长的时间间隔(默认情况下为 5 分钟)进行采样。在每天开始时,将各个时间间隔样本作为平均值、最大值、最小值、标准偏差、中值和总计汇总到每小时和每天的表格中。可以选择为每个度量类保留哪些汇总函数(如果有)。间隔和每小时数据可能会在定义的天数(默认分别为七 (7) 天和 60 天)后自动清除;每日摘要用于长期分析,可以手动清除。
所有收集的指标都在 SYS.History 的四个 %SerialObject 类中定义。
| Column | Description | Notes |
|---|---|---|
| Glorefs | 全局引用(数据库访问)。指示代表当前工作负载正在发生的工作量;尽管全局引用会消耗 CPU 时间,但由于缓冲池的存在,它们并不总是需要物理读取。 |
|
| RemGrefs * | 远程全局引用(数据库访问)。指示代表分布式缓存集群应用程序服务器生成的全局引用数。 | |
| GRratio | 全局引用与远程全局引用的比率。 | |
| PhyRds | 从磁盘物理读取。大量的物理读取可能表明存在性能问题;可以通过增加数据库(全局)缓冲区的数量来提高性能。 | |
| Rdratio | 逻辑块读取与物理块读取的比率,但如果物理块读取为零,则为零。 | |
| Gloupds | 全局更新 (sets or kills). |
|
| RemGupds * | 远程全局更新。 | |
| Rourefs | 例程引用(包括标签^例程)。 |
|
| RemRrefs * | 远程例程引用。 | |
| RouLaS | 例程加载和保存(从磁盘获取或保存到磁盘)。大量的例行加载/保存可能表明存在性能问题;可以通过增加例程缓冲区的数量来提高性能。 | |
| RemRLaS * | 远程例程加载和保存。 | |
| PhyWrs | 物理写入磁盘。 | |
| WDQsz | 写入守护进程队列大小(以块为单位)。 | 不是每秒。 |
嘿开发者,
我们想邀请您参加我们的下一场比赛,该比赛致力于创造有用的工具,让您的开发伙伴们的生活更轻松:
🏆 InterSystems 开发者竞赛:Tool(工具)🏆
提交有助于加快开发速度、贡献更多定性代码并有助于使用 InterSystems IRIS 测试、部署、支持或监控您的解决方案的应用程序。
时间: 2023 年 1 月 23 日至 2 月 12 日(美国东部时间)
奖金池: 13,500 美元
InterSystems 很高兴地宣布,InterSystems IRIS、InterSystems IRIS for Health 和 HealthShare Health Connect 2022.1.2 的扩展维护版本现已推出。这些版本为 2022.1.0 和 2022.1.1 版本提供了一些选定的功能和错误修复。
您可以在这些页面上找到有关更改内容的更多信息:
请通过开发者社区分享您的反馈,以便我们共同打造更好的产品。
该软件以经典安装包和容器镜像的形式提供。有关可用安装程序和容器映像的完整列表,请参阅支持的平台网页。
每个产品的完整安装包都可以从 WRC 的软件分发页面获得。
安装包和预览密钥可从 WRC 的预览下载站点或通过评估服务网站获得。
InterSystems IRIS 和 IRIS for Health 的企业版和社区版的容器镜像以及所有相应的组件都可以从InterSystems Container Registry获得。
此版本中所有套件和容器的数量为2022.1.2.574.0 。
我想从生产环境同步刷新测试库。
在 TESTTC02 上,我收到错误:
“Missing Mirrored Databases Report”
我的问题:
1. 这个问题是什么原因造成的?
2.该如何解决?
谢谢你的帮助
=========================
这是刷新的基本计划:
DR 复制 IRIS.DAT 文件 -> TESTTC01
TESTTC01 IRIS.DAT 文件 -> TESTTC02
详细信息:
SMP=System Management Portal – IRIS admin 的 GUI Web 界面
DRTC01=LIVE的DR节点(异步镜像)
TESTTC01=主要成员
TESTTC01=备份成员
我的操作:
0. 在 TESTTC01 SMP 上,“删除镜像配置”
1. 将 IRIS.DAT 从 TRAK-DRTC01 复制到 TESTTC01 [IRIS down on both TRAK-DRTC01 and TESTTC01]
2. 在 TESTTC01 上启动 IRIS
3. 在 TESTTC01 上,执行 ^MIRROR,Option 2 "Mirror Management",All(所有数据库)
4.在TESTTC01上,SMP系统管理->配置->镜像设置->创建镜像
5. 在 TESTTC01 上,对于所有数据库位置,“set status=##Class(SYS.
本章介绍 ^mgstat 实用程序,它是一种用于收集基本性能数据的工具。
注意:此实用程序可能会在不同版本之间更新。 ftp://ftp.intersys.com/pub/performance/下载 newmgstat.xml 的信息。
必须从 %SYS 命名空间调用 ^mgstat,并且可以使用以下位置参数:
| Argument | Description |
|---|---|
| sample time | 此参数指定采样计数器的频率(以秒为单位)。如果未指定,默认值为 2 秒。注:如果指定的采样时间大于 10 秒,^mgstat 会将其减少到 10 秒。请参阅此表中的样本参数数量。 |
| number of samples | 此参数指定要获取的最大样本数。如果未指定,则默认为 10 次迭代。 注:如果 ^mgstat 减少了采样时间,它会增加指定的样本数以确保运行的持续时间(采样时间 * 样本数)实际上与没有修改任何参数时的持续时间相同。 |
| filename | 此参数指定 ^mgstat 生成的 .mgst 文件的文件名,相对于 install-dir\mgr。如果未指定,则默认文件名为 ServerName_InstanceName_Date_Time.mgst。 |
%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: 基本标志。%SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。
AIX info * - oslevel 的输出。 uname -a、prtconf 和 lspv 命令
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 统计信息。%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: 基本标志。简单来说,网络抓取、网络收获或网络数据提取是从网站收集大数据(非结构化)的自动化过程。用户可以根据需要提取特定站点上的所有数据或特定数据。收集的数据可以以结构化格式存储以供进一步分析。

就这么简单!
Beautiful Soup 是一个纯 Python 库,用于从网站中提取结构化数据。它允许您解析来自 HTML 和 XML 文件的数据。它充当辅助模块,并以与使用其他可用开发人员工具以网页交互的方式与 HTML 交互。
在上一篇文章中,我们看到了最常用的HL7消息类型之一--ADT(入院、出院、转院)的结构,以及ADT^A04的例子和它所有字段的描述。现在让我们来看看另一个数据流,它与测试订单的订购和履行有关。我说的是ORM(从2.5版本开始,你应该使用特定的消息来订购测试,如OMG、OML、OMD、OMS、OMN、OMI和OMP),ORL和ORU消息。在一个非常简化的情况下,数据的交换可能看起来像这样。
.png)
让我们更详细地看一下这些消息。
Python 已成为世界上使用最广泛的编程语言(来源:https://www.tiobe.com/tiobe-index/),SQL 作为数据库语言继续引领潮流。 Python 和 SQL 一起工作以提供 SQL 单独无法提供的新功能不是很好吗?毕竟,Python 拥有超过 380,000 个已发布的库(来源:https://pypi.org/),它们具有非常有趣的功能,可以在 Python 中扩展您的 SQL 查询。本文详细介绍了如何使用嵌入式 Python 在 InterSystems IRIS 数据库中创建新的 SQL 存储过程。
本文将使用两个非常有用的库:Geopy 和 Chronyk。
Geopy 是一个用于将地理编码(地址和地理坐标的限定)应用于地址数据的库。有了它,就可以从街道名称中获取邮局格式的邮政编码和完整地址。非常有用,因为许多记录都有地址。
Chronyk 用于使用人类语言处理日期和时间。这非常有用,因为在内部,对于 IRIS 和 Python,日期是一个数字,表示自初始日期以来经过的时间量。对于人类来说,日期是 7 月 20 日,或者昨天,或者明天,或者两个小时前。 Chronyk 接受接收这样的日期,然后将其转换为通用日期格式。
从 2021.
%SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。
Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。
cpf file * - 当前活动配置文件的副本。
irisstat -c - 使用命令 .\bin\irisstat -s -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 在运行过程中以均匀的间隔采集八个样本。
这个项目是在我考虑如何通过Embedded Python让Python代码自然地处理IRIS globals所提供的可扩展的存储和高效的检索机制时想到的。
我最初的想法是使用globals创建一种Python字典的实现,但很快我就意识到,我应该首先处理对象的抽象问题。
所以,我开始创建一些可以包装Python对象的Python类,在globals中存储和检索它们的数据,也就是说,在IRIS globals中序列化和反序列化Python对象。
像 ObjectScript 的%DispatchGetProperty(), %DispatchSetProperty() 和%DispatchMethod()一样, Python 有委托对象的属性和方法调用的方式。
当你设置或获取一个对象属性时,Python 解释器让你通过方式 __setattr__(self, name, value) 和 __getattr(self, name)__来截获这个操作。
请看这个相当基本的例子。
>>> class Test:
. def __init(self, prop1):
. self.prop1 = prop1
.您可能还记得在 InterSystems 2022年全球峰会以及 2022.2 版本发布的网络研讨会上,我们发布了一项令人兴奋的新功能——列存储,它可以纳入您 InterSystems IRIS 的解决方案中。 列存储引入了一种存储SQL表数据的替代方法,它为分析查询提供了数量级的加速。 最新的2022.3开发预览版在原有的基础上包括一系列我们认为值得在这里宣布的更新。
快速回顾
如果您不熟悉InterSystems IRIS 的列存储,请观看这段简短的介绍视频以及相关该主题的2022全球峰会内容。 简而言之,我们使用新的$vector数据类型将表数据编码为每列 64k 个值的块。 $vector是一种仅限内部使用的数据类型(目前),它利用自适应编码方案来实现稀疏和密集数据的高效存储。 编码还针对一系列专用$vector操作进行了优化,例如一次计算64k 值的整个块的聚合、分组和过滤,并在可能的情况下利用芯片的SIMD指令。
在SQL查询时,我们构建对这些块直接进行操作的查询计划,正如您所想象的,与传统的逐行处理相比,这大大减少了执行查询所需的IO量和ObjectScript指令数。 当然,与面向行且对于单值的操作相比,这个的IO消耗更大,$vector的操作也更重一些,但收益是巨大的。
这篇文章主要介绍 HL7 V2.5.1 标准是如何定义查询类请求,以及查询类响应的。相关HL7 V2 的更多基础知识可以参考:HL7v2到底是什么?! 的一系列文章。
最初,HL7的查询参数通过QRD以及QFR 字段传入。因为这两个字段的设计是为了满足所有的查询需求,所以这两个字段的定义非常随意。
从HL7 V2.3开始,引入了加强版的查询模式,它包含了四种方式:
• 嵌入式查询语言类请求查询:自由格式的select SQL语句
• 虚拟表类请求查询:基于特定的select 条件查询服务端的数据库表
• 存储过程类请求查询:执行服务端的存储过程返回数据
• 事件类请求查询:返回基于特定事件的查询结果
HL 7 v2.3.1之后的版本更清晰地将请求查询的方式与返回查询数据的方式分开,并且强调了“符合性声明”的存在。 HL 7继续支持存储过程、事件查询和虚拟表查询的语义,但推荐使用新的查询方式,即按参数查询(QBP),使语法更清晰。
QBP查询的目的是在一个精确的一致性声明的框架内统一存储过程、事件和虚拟表查询的语义。
同时该标准仍可以继续使用最初模式查询(QRD/QRF),但使用新的查询形式可以更清楚地解释其语义
可以使用以下 API 命令将现有配置文件复制到具有不同名称的文件:
set rc=$$copyprofile^SystemPerformance("sourceprofilename","targetprofilename")
必须指定:
sourceprofilename - 现有配置文件的名称targetprofilename - 要创建的配置文件的名称。这必须用双引号引起来。如果成功,该函数返回 1。如果不成功,它返回一个 0 后跟一个 carat 和任何错误的原因。
其中 sourceprofilename 是现有配置文件的名称,targetprofilename 必须是唯一的并且不能包含空格或空白字符。
ZPM 设计用于与 InterSystems IRIS 数据平台的应用程序和模块一起使用。 它由两个组件组成:ZPN 客户端(用于管理模块的 CLI)和注册表(模块和元信息的数据库)。 我们可以使用 ZPM 来搜索、安装、升级、移除和发布模块。 使用 ZPM,可以安装 ObjectScript 类、前端应用程序、互操作性生产环境、IRIS BI 解决方案、IRIS 数据集或任何文件,例如嵌入式 Python wheel。
今天的这份实战宝典将分为 3 个部分:
write $SYSTEM.OBJ.Load("C:\zpm.xml", "c")
请注意,“C:\zpm.xml”是下载的 XML 文件的路径,这一步可能需要一些时间。

在开始生成模块之前,我们需要准备一个文件夹,里面有一个或多个可以加载的文件,因此我在 C 盘下创建了一个名为 zpm 的文件夹。
每秒插入大量记录,同时同步进行实时查询的能力称为混合事务分析处理 (HTAP)。 它也被称为 Transactional analytics 或 Transanalytics 或 Translytics,当存在来自工业物联网传感器的持续实时数据流或股票市场的波动数据时,它是非常有用的技术,并且允许实时或接近实时地查询这些数据集。
在本文中我将分享我在不同平台上运行带有测试流数据的演示,同时进行持续插入和持续查询,看看每个平台上有何不同反应,如在每个平台上输入和输出数据的速度以及它们的性能。 我在本演示中试验的平台包括:InterSystems IRIS、MariaDB 和 MySQL。
试验结果
20秒的测试时间里:
| 插入数据条数 | 查询次数 | 插入数据大小 | 查询数据大小 | |
|---|---|---|---|---|
| IRIS | 708,000 | 59,000 | 184M | 15.217M |
| MariaDB | 98,000 | 23,679 | 25M | 6.69M |
| MySQL | 38,000 | 11,947 | 9.869M | 2.45M |
本演示的视频:https://www.loom.
亲爱的开发者社区成员们,
我们非常高兴地与您分享最新的开发者社区功能!
🔥 您的 2022 年回顾 🔥
现在,您可以生成个性化“2022 年活动概要”——体现了您在2022年在开发者社区的主要活动,包括发帖数量、评论、视图、热门和最喜欢的帖子/标签等等!
%20(2).jpg)