Example #1
0
        static void EvaluateRedisBench(ArgsOption argsOption)
        {
            var counter        = new Counter();
            var redisBenchList = new List <RedisBench>(argsOption.ConnectionCount);

            for (var i = 0; i < argsOption.ConnectionCount; i++)
            {
                redisBenchList.Add(new RedisBench(
                                       argsOption.ConnectionString,
                                       SplitNumber(argsOption.ChannelCount, argsOption.ConnectionCount, i),
                                       argsOption.SendSize,
                                       counter));
            }
            for (var i = 0; i < argsOption.ConnectionCount; i++)
            {
                redisBenchList[i].StartBench();
            }
            Console.WriteLine("Press any key to stop...");
            Console.ReadLine();
            for (var i = 0; i < argsOption.ConnectionCount; i++)
            {
                redisBenchList[i].StopBench();
            }
            var waitSec = 5;

            Console.WriteLine($"Wait {waitSec} seconds for all connections stop...");
            Task.Delay(TimeSpan.FromSeconds(waitSec)).Wait();
            for (var i = 0; i < argsOption.ConnectionCount; i++)
            {
                redisBenchList[i].Dispose();
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            bool isInputValid = true;
            var  argsOption   = new ArgsOption();
            var  result       = Parser.Default.ParseArguments <ArgsOption>(args)
                                .WithParsed(options => argsOption = options)
                                .WithNotParsed(error => {
                isInputValid = false;
                Console.WriteLine($"Input is invalid for {error}");
            });

            if (!isInputValid)
            {
                return;
            }
            EvaluateRedisBench(argsOption);
        }