示例#1
0
        public static void Main(string[] args)
        {
            ILogger logger   = new ConsoleLogger();
            var     brokerIp = CloudConfigurationManager.GetSetting("BrokerIp");

            //var concurrentConnectonTest = new ConcurrentConnectionTest();
            //var concurrentConnectonTestSetup = new TestSetup(logger, brokerIp, concurrentConnectonTest, 1);
            //concurrentConnectonTestSetup.RunTest(int.MaxValue, new TimeSpan(0, 10, 0), new TimeSpan(0, 1, 0), new TimeSpan(0, 1, 0));

            while (true)
            {
                //var throughputTest = new MessageThroughputTest();
                //var testSetup = new TestSetup(logger, "127.0.0.1", throughputTest, 128); // "40.118.3.244"
                //testSetup.RunTest();

                var broadcastTest          = new BroadcastReceiveTest();
                var broadcastTestTestSetup = new TestSetup(logger, "13.80.15.211", broadcastTest, 1);
                broadcastTestTestSetup.RunTest(int.MaxValue, new TimeSpan(0, 30, 0), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 20), new TimeSpan(0, 0, 20));

                //var broadcastTest = new BroadcastTest();
                //var broadcastTestTestSetup = new TestSetup(logger, "40.115.17.8", broadcastTest, 16);
                //broadcastTestTestSetup.RunTest(int.MaxValue, new TimeSpan(0, 5, 0), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 10), new TimeSpan(0, 0, 10));

                //var concurrentConnectonTest = new ConcurrentConnectionTest();
                //var concurrentConnectonTestSetup = new TestSetup(logger, brokerIp, concurrentConnectonTest, 16);
                //concurrentConnectonTestSetup.RunTest(int.MaxValue, new TimeSpan(0, 1, 0), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 5),  new TimeSpan(0, 0, 10));

                Thread.Sleep(new TimeSpan(0, 0, 10));

                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.WaitForFullGCComplete();
                GC.Collect();
            }
        }
示例#2
0
        private async Task RunAsync(CancellationToken cancellationToken)
        {
            ILogger logger = new ApplicationInsightsLogger();
            string  brokerIp;
            int     numberOfThreads;

            try
            {
                brokerIp = CloudConfigurationManager.GetSetting("BrokerIp");

                var threadSet = int.TryParse(CloudConfigurationManager.GetSetting("Threads"), out numberOfThreads);
                if (!threadSet)
                {
                    numberOfThreads = DefaultNumberOfThreads;
                }
            }
            catch (Exception exception)
            {
                brokerIp        = string.Empty;
                numberOfThreads = DefaultNumberOfThreads;
                logger.LogException(exception);
            }


            while (!cancellationToken.IsCancellationRequested)
            {
                try
                {
                    var broadcastTest          = new BroadcastReceiveTest();
                    var broadcastTestTestSetup = new TestSetup(logger, brokerIp, broadcastTest, numberOfThreads);
                    broadcastTestTestSetup.RunTest(int.MaxValue, new TimeSpan(0, 60, 0), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 3), new TimeSpan(0, 0, 20), new TimeSpan(0, 0, 20));
                }
                catch (Exception exception)
                {
                    logger.LogEvent("Incomplete", "Completed test using " + numberOfThreads + " threads");
                    logger.LogException(exception);
                }

                await Task.Delay(new TimeSpan(0, 1, 0), cancellationToken);

                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.WaitForFullGCComplete();
                GC.Collect();
            }
        }