JMeter基准JSON与MessagePack

时间:2018-10-12 17:04:24

标签: java json jmeter benchmarking msgpack

我想使用JMeter对数据到Java的序列化格式与JSON不同的服务器到服务器通信(Java Spring)进行基准测试

Why not JSON?条建议MessagePack

  

MessagePack是一种有效的二进制序列化格式。它使您可以在JSON之类的多种语言之间交换数据。但是它更快,更小。

我可以使用JMeter进行基准测试来发送JSON消息还是与MessagePack进行比较吗?我可以检查接收方的请求时间还是发送方准备和发送请求的时间吗?还是有其他考虑因素/已知问题阻止了这两种情况?

1 个答案:

答案 0 :(得分:1)

您几乎可以使用JMeter进行任何操作,如果使用MessagePack,可以使用MessagePack Serializer for Java-这将允许您在JMeter端创建二进制请求有效负载,即使用JSR223 PreProcessorGroovy语言(它与Java兼容99.9%,因此example code可以正常工作)

关于指标,它们应该与通常相同,您的主要目标应该是:

  1. 响应时间(越低越好)
  2. 直通车-每单位时间的请求数(越高越好)

鉴于JSON和MessagePack由相同的特定于主机网络的指标(例如延迟和连接时间)提供服务,因此将被忽略。请查看JMeter Glossary中列出和说明的主要指标。

我还将关注服务器端指标,例如CPU或内存使用情况,因为潜在地反序列化二进制数据并将其序列化可能会占用更多的资源,因此我希望MessagePack实现会占用更多资源。您可以使用SSHMon ListenerJMeter PerfMon Plugin来在测试运行时检查被测系统的资源使用情况-这样,您就可以将增加的负载与增加的资源消耗相关联。