本文共 1459 字,大约阅读时间需要 4 分钟。
虽然BeetleX扩展了tcp/websocket/webapi压测工具(工具下载可以访问https://github.com/beetlex-io/TCPBenchmarks),但测试工具都是针对消息定义来进行测试,很难整合完整的业务流程;如果能写代码那BeetleX组件提供一个测试组件可以更好地完成针对业务流程的压力测。
NetBenchmark工具是基于Beetlex扩展的网络服务测试组件,它提供了tcp/websocket/webapi的调用方法,通过相关方法可以把业务流的访问进行一个组装并压测。
功能方法
组件提供了几个简单的功能方法,通过这些方法可以定义tcp/websocket/webapi的压力测试用例。
public class Benchmark { public Benchmark(); public static Runner Http(Uri host, int connections, Func handler) where Token : new(); public static Runner Tcp (string host, int port, int connections, Func handler) where Packet : IClientPacket, new() where Token : new(); public static Runner Websocket (Uri host, int connections, Func handler) where Token : new(); public static Runner WebsocketJson (Uri host, int connections, Func handler) where Token : new(); public static Runner WebsocketText (Uri host, int connections, Func handler) where Token : new(); }
以下是简单的websocket测试用例定义并运行
class Program { static void Main(string[] args) { var runer = NetBenchmark.Benchmark.WebsocketText(new Uri("ws://192.168.2.19"), 100, async (ws, token) => { ws.Send("beetlex.io"); await ws.Receive(); }); runer.Run(); runer.Print(); } }
使用视频
转载地址:http://ukudi.baihongyu.com/