近日,SmartX 测试了超融合基础架构对 Rhapsody 医疗集成引擎在消息收发、处理性能上的支持效果。本次测试模拟一般三甲综合医院实际数据交互场景。经过对超 30 亿条次的数据进行测试,Rhapsody 在 SmartX 超融合环境下单引擎消息收发量最高达到 68 万条消息/分钟,集群消息吞吐量稳定达到 64 万条消息/分钟,相当于实际业务场景常规所需性能的 5-10 倍。这意味着 SmartX 超融合能充分支持并大幅提升医疗集成引擎性能,满足国内绝大多数三甲综合医院的信息处理需求。

背景介绍

Rhapsody 是医疗信息互联互通解决方案提供厂商 Lyniate(总部位于新西兰,中国分公司为傲医软件科技(上海)有限公司,以下简称“傲医软件”)旗下历经 20 多年不断创新的老牌集成引擎产品。Rhapsody 集成引擎为全球 60 个国家超 8300 家医疗卫生及相关机构提供安全、可靠和灵活的互操作性解决方案,是国际市场公认的顶级产品。Rhapsody 在中国已有 700 多家医院用户(多数为三甲医院),助力 160 余家国内区域单位医院通过国家医疗健康信息互联互通标准化成熟度四级以上测评,并助力 50 余家医院通过电子病历五级以上评价,在国内医疗行业亦受到广泛认可。

为了进一步提高 Rhapsody 的性能,同时探索超融合在医疗行业中的应用场景,SmartX 与傲医软件合作测试了超融合平台对 Rhapsody 信息处理性能的支持效果。本次测试模拟了一般三甲综合医院普通挂号以及门诊电子病历书写(包括互联互通成熟度测评标准 CDA 文档转换)的数据交互场景。根据设定的场景,一般三甲综合医院日均门诊量在 5000-12000 人左右,日均交互消息量在 300-1000 万之间,业务高峰期消息量最高可达 2-3 万/分钟。本次测试结果均以这一业务场景为参照进行对比。

我们从消息收发、Web 服务和消息解析三个方面测试 Rhapsody 信息处理性能,并监测超融合环境下 Rhapsody 单机极限信息处理能力和集群稳定信息处理能力。具体测试内容如下:

  1. Rhapsody 集成引擎收发消息极限测试
  2. Rhapsody 集成引擎 Web 服务极限测试
  3. Rhapsody 集成引擎 JavaScript 过滤器消息属性解析极限测试
  4. Rhapsody 集成引擎集群测试

测试环境

为了全方位测试集成引擎的性能,这次测试采用了搭载 Intel Xeon Gold 6132 CPU 的 SMTX Halo 8100 一体机,部署 3 个节点,并基于最新版本 SMTX OS 5.0.2 Boost 模式开展测试。超融合平台具体配置情况如下:

表格1.png

Rhapsody 集成引擎采用典型配置的集群部署,2 个虚拟机服务器(分别为主服务器 Rhapsody master 和备用服务器 Rhapsody slave)通过 HA-Nginx 负载均衡,master 和 slave 服务器均配备 16 个 vCPU 和 32 GB 内存。具体部署情况如下:

医疗1.png

表格2.png

整个测试采用极限压力测试。根据测试的设定场景,压力测试服务器 P-Test 满载压力后访问 HA-Nginx,HA-Nginx 根据任务和服务器使用情况将任务分配给 master 和 slave 服务器进行处理。测试环境的具体配置如下:

  • 测试产品:Rhapsody V6.9.0 Windows x64
  • 测试工具:Apache JMeter V5.4.3
  • 负载工具:Nginx-1.20.2 Windows版

测试结果

  • SmartX 超融合环境下 Rhapsody 单机极限消息收发量可到 68 万条/分钟
  • SmartX 超融合环境下 Rhapsody 单机每分钟可处理约 48 万次 Web 服务请求。
  • SmartX 超融合环境下 Rhapsody 单机经过 JavaScript 过滤器解析消息之后每分钟能处理 32 万次 Web 请求。
  • 虽受制于网络限制,SmartX 超融合环境下 Rhapsody 集群消息总吞吐量依旧可以达到 64 万条消息/分钟,“折算”后是实际业务场景的 5-10 倍

测试经过和具体结果如下:

1. Rhapsody 集成引擎收发消息极限测试

测试方法:通过高频触发器,向 Rhapsody 集成引擎发送数据,Rhapsody 集成仅交互消息,对其不做解析处理。

结果显示,SmartX 超融合环境下 Rhapsody 平均收发量约 68 万条消息/分钟

医疗2副本.jpg

2. Rhapsody 集成引擎 Web 服务极限测试

测试方法:通过 JMeter 工具进行测试,Rhapsody 集成引擎通过 Web Service Hosting 和 HTTP Server 通讯点(Soap Web Service 和 HTTP 接口组件)进行消息收发。

Rhapsody 配置测试环境:通过 Rhapsody 集成引擎搭建一个 Web Service 服务,一个 HTTP 服务,每个服务各设置 30 个连接线程。

JMeter 测试配置环境:JMeter 新建两个线程组,分别调用 Rhapsody 集成引擎的 Web Service 服务和 HTTP 服务,同样每个线程组各 30 个线程。

结果显示,SmartX 超融合环境下 JMeter TPS 约为 5000 左右,Rhapsody 集成引擎每分钟能处理约 48 万次 Web 服务请求

医疗3副本.jpg

3. Rhapsody 集成引擎 JavaScript 过滤器消息属性解析极限测试

测试方法:通过 JMeter 工具进行压测,Rhapsody 集成引擎通过 Web Service Hosting 和 HTTP Server 通讯点进行消息收发。

Rhapsody 配置测试环境:通过 Rhapsody 集成引擎搭建一个 Web Service 服务,每个服务各设置 30 个连接线程,Rhapsody 集成引擎通过 JavaScript 过滤器(JavaScript 功能组件)解析入参,并设置为消息属性,最终生成响应消息并返回。

JMeter 测试配置环境:JMeter 新建两个线程组,分别调用 Rhapsody 的 Web Service 服务和 HTTP 服务,同样每个线程组各 30 个线程。

结果显示,SmartX 超融合环境下,因为经过 JavaScript 过滤器的解析,Rhapsody 引擎整体吞吐量出现了衰减,从每分钟约 48 万次下降到了 32 万次。但 SmartX 超融合环境下 Rhapsody Web 服务依旧表现出高效率,且整体表现稳定,无明显波动。

医疗4副本.jpg

4. Rhapsody 集成引擎集群测试

测试方法:集成引擎集群测试部署 master 和 slave 双节点,采用单引擎 Web 服务极限测试环境进行测试。

结果显示,SmartX 超融合环境下两个节点都可以稳定达到 30 万消息/每分钟,JMeter TPS 达到 6300。虽然受限于环境网络情况,整个集群消息总吞吐量依旧可以达到 64 万条消息/分钟

由于医院实际业务场景中采用集群部署的模式,且考虑到现实环境可能更为错综复杂,对照实际业务复杂度进行“折算”(见注 1),SmartX 超融合环境下 Rhapsody 所表现出来的性能也可达到实际业务场景的 5-10 倍,完全符合甚至超出国内一般三级甲等综合医院的性能需求

Rhapsody 在测试中表现出的超高性能得益于 SMXT OS 5.0.2 版本的 Boost 模式。该模式通过 vhost 共享协议实现了 Guest OS、QEMU、分布式块存储 ZBS 三者之间内存共享,分布式块存储引擎器可以直接访问到 Guest OS 的内存,绕开了由 QEMU 处理 I/O 请求所造成的性能瓶颈,通过缩短 I/O 路径大幅提升性能。

医疗5.jpg

医疗6.jpg

总结

通过以上测试可以看出,SmartX 超融合可以良好地适配 Rhapsody 集成引擎,且单机最高信息处理效率和集群稳定信息处理效率均达到一般三甲综合医院业务场景的 5-10 倍,表现出远超绝大多数医院实际环境所需的性能。同时,SmartX 超融合具备精简的架构和良好的弹性扩展能力,可以大幅降低基础设施运维难度,并实现按需投资和资源的快速交付,可以有效地支撑医疗机构实现智慧医疗的全面转型。

注 1:

测试所使用的接口协议、数据处理、业务并发等都是实际生产通用模式,相比实际生产环境只是接口“数量”的多少和数据处理“解析-转换”繁简差异。

参考资料:

“Rhapsody(原 Orion Health Rhapsody)携 Corepoint 荣膺 2020 年 KLAS 集成引擎类别冠亚军”
https://www.chima.org.cn/Html/News/Articles/4637.html

点击下载 SmartX 医疗行业超融合基础架构解决方案白皮书