From b7e2678592c282c84e58d4903be57f7e970422b9 Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Tue, 27 Mar 2018 10:14:08 -0700 Subject: [PATCH] Add new SignalR scenarios (#1730) --- benchmarks/BenchmarkServer/Hubs/EchoHub.cs | 17 ++++++++++++++--- benchmarks/BenchmarkServer/signalr.json | 11 +++++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/benchmarks/BenchmarkServer/Hubs/EchoHub.cs b/benchmarks/BenchmarkServer/Hubs/EchoHub.cs index 2e4144dc6d..6005dd677a 100644 --- a/benchmarks/BenchmarkServer/Hubs/EchoHub.cs +++ b/benchmarks/BenchmarkServer/Hubs/EchoHub.cs @@ -10,23 +10,34 @@ namespace BenchmarkServer.Hubs { public class EchoHub : Hub { - public async Task Echo(int duration) + public async Task Broadcast(int duration) { + var sent = 0; try { var t = new CancellationTokenSource(); t.CancelAfter(TimeSpan.FromSeconds(duration)); while (!t.IsCancellationRequested && !Context.ConnectionAborted.IsCancellationRequested) { - await Clients.All.SendAsync("echo", DateTime.UtcNow); + await Clients.All.SendAsync("send", DateTime.UtcNow); + sent++; } } catch (Exception e) { Console.WriteLine(e); } + Console.WriteLine("Broadcast exited: Sent {0} messages", sent); + } - Console.WriteLine("Echo exited"); + public Task Echo(DateTime time) + { + return Clients.Client(Context.ConnectionId).SendAsync("send", time); + } + + public Task EchoAll(DateTime time) + { + return Clients.All.SendAsync("send", time); } } } diff --git a/benchmarks/BenchmarkServer/signalr.json b/benchmarks/BenchmarkServer/signalr.json index 410e76ffe6..8cc152cddc 100644 --- a/benchmarks/BenchmarkServer/signalr.json +++ b/benchmarks/BenchmarkServer/signalr.json @@ -8,9 +8,16 @@ }, "Connections": 10, "Duration": 20, - "Warmup": 2 + "Warmup": 2, + "Path": "/echo" }, "SignalRBroadcast": { - "Path": "/echo" + "ClientProperties": { "Scenario": "broadcast" } + }, + "SignalREcho": { + "ClientProperties": { "Scenario": "echo" } + }, + "SignalREchoAll": { + "ClientProperties": { "Scenario": "echoAll" } } } \ No newline at end of file