Page 433 - 《软件学报》2025年第12期
P. 433
5814 软件学报 2025 年第 36 卷第 12 期
的增加, ReproLink 的总吞吐率大致以线性增长. 在节点数量为 16 时, 总数据量达到了 160 万, 此时 ReproLink 的
总吞吐率达到了每秒 57 万次操作, 展现了良好的可扩展性.
6.0
总吞吐率 (×10 5 Ops/s) 3.0
0
1 2 4 8 12 16
节点数量
图 4 ReproLink 吞吐率随节点数量的变化趋势
● 相关工作对比测试. 最后, 为了进一步验证 ReproLink 能够适应现实场景的工作负载, 将 ReproLink 的性能
与现有的科研数据管理平台进行对比测试. 测试使用 Papers with Code 作为比较对象. Papers with Code 具有庞大
的用户基数, 并且被数据科学研究者广泛地使用, 因此与其的性能对比具有一定的代表意义. 在测试中, 通过不断
增加客户端的数量对两个平台进行压力测试, 并记录其吞吐率和平均延迟. 图 5 和图 6 分别展示了 ReproLink 和
Papers with Code 的吞吐率-延迟曲线. ReproLink 的延迟在吞吐率小于 4 万的情况下均稳定在较低水平, 并且在吞
吐率超过 4.5 万时仍然能保持小于 10 ms 的延迟; 而 Papers with Code 在吞吐率超过 800 后便出现延迟的急剧上
升, 且其平均延迟均大于 200 ms.
2 000
1.8
1.5
1 500
(ms) 1.2
延迟 0.9 延迟 (ms) 1 000
0.6
500
0.3
0 0
20 000 40 000 50 000 300 600 900
吞吐率 (Ops/s) 吞吐率 (Ops/s)
图 5 ReproLink 吞吐率-延迟曲线 图 6 Papers with Code 吞吐率-延迟曲线
4.1.3 对象检索引擎测试
对象检索引擎的性能测试包括路径查询和关键字查询. 在路径查询测试中, 在系统中均匀随机地选择一个科
研数据对象作为起点, 分别对单跳、两跳、三跳、四跳的路径模式匹配搜索进行性能测试. 在进行关键字查询测
试前, 先对系统中科研数据对象的标题和摘要进行词频统计, 在测试时根据词频随机抽取搜索词, 每个词被抽中的
概率和其词频成正比. 在测试中使用 8 个客户端线程向服务器发送搜索请求. 表 7 展示了对对象检索引擎进行性
能测试的结果. 对于路径查询, 随着路径长度的增加, 搜索吞吐率逐步下降. 在实际情况中, 大部分请求为单跳或两
跳的路径查询, 关键字查询和长度更长的路径查询的频率较低, 因此这样的吞吐率可以满足目前的系统需要. 随着
未来系统规模的扩大, 可以通过创建分布式索引的方式提高吞吐率, 以满足进一步增长的需求.
表 7 对象检索引擎性能测试结果
操作 吞吐率 (Ops/s) 操作 吞吐率 (Ops/s)
单跳路径查询 14 377 四跳路径查询 6 539
两跳路径查询 11 316 五跳路径查询 4 301
三跳路径查询 9 087 关键字查询 1 121

