Пример #1
0
        private static void Main(string[] args)
        {
            _log.Info("HeavyLoad - MassTransit Load Generator");

            MsmqEndpointManagement.Manage(new MsmqEndpointAddress(new Uri("msmq://localhost/mt_client")), q =>
            {
                q.Create(false);
                q.Purge();
            });

            Console.WriteLine("HeavyLoad - MassTransit Load Generator");
            Console.WriteLine();

//			RunLoopbackLoadTest();

//			RunBatchLoadTest();

//			RunTransactionLoadTest();

//			RunLocalMsmqLoadTest();

            //RunContainerLoadTest();

            RunLocalRabbitMqLoadTest();

            //RunWcfLoadTest();

//			RunCorrelatedMessageTest();

            //RunLocalActiveMqLoadTest();

            Console.WriteLine("End of line.");
        }
Пример #2
0
        static void Main(string[] args)
        {
            _log.Info("HeavyLoad - MassTransit Load Generator");

            MsmqEndpointManagement.Manage(new MsmqEndpointAddress(new Uri("msmq://localhost/mt_client")), q =>
            {
                q.Create(false);
                q.Purge();
            });

            Console.WriteLine("HeavyLoad - MassTransit Load Generator");
            Console.WriteLine();

            //RunLoopbackHandlerLoadTest();

            //RunLoopbackConsumerLoadTest();

            //RunStructureMapLoadTest();

            //RunLocalMsmqLoadTest();

            //RunTransactionLoadTest();

            //RunCorrelatedMessageTest();

            //RunLocalRequestResponseMsmqLoadTest();

            //RunRabbitMqLoadTest();

            //RunLocalActiveMqLoadTest();

            RunLongRunningMemoryTest();

            Console.WriteLine("End of line.");
        }
Пример #3
0
        public TransactionLoadTest()
        {
            _container = new DefaultMassTransitContainer("transaction.castle.xml");

            _bus = _container.Resolve <IServiceBus>();

            var management = MsmqEndpointManagement.New(_bus.Endpoint.Address.Uri);

            management.Purge();
        }
Пример #4
0
        public ContainerLoadTest()
        {
            _container = new HeavyLoadContainer();

            _bus = _container.Resolve <IServiceBus>();

            var management = MsmqEndpointManagement.New(_bus.Endpoint.Address.Uri);

            management.Purge();
        }
Пример #5
0
        public CountEndpointCommand(IEnumerable <ICommandLineElement> commandLineElements)
        {
            Uri uri = commandLineElements.GetDefinition("uri", x => new Uri(x));

            var management = MsmqEndpointManagement.New(uri);

            long count = management.Count();

            Console.WriteLine(string.Format("{0} message{1} in {2}", count, count != 1 ? "s" : "", uri));
        }
        public CreateEndpointCommand(IEnumerable <ICommandLineElement> commandLineElements)
        {
            Uri uri = commandLineElements.GetDefinition("uri", x => new Uri(x));

            bool transactional = commandLineElements.GetSwitch('t');


            Console.WriteLine("Creating queue: " + uri + (transactional ? " (transactional)" : ""));

            var management = MsmqEndpointManagement.New(uri);

            management.Create(transactional);
        }
Пример #7
0
        public void Run(StopWatch watch)
        {
            _container = new HeavyLoadContainer();

            _bus = _container.Resolve <IServiceBus>();

            var management = MsmqEndpointManagement.New(_bus.Endpoint.Address.Uri);

            management.Purge();

            watch.Start();

            //BatchServiceComponent component = new BatchServiceComponent();

            //_bus.Subscribe(component);

            _container.AddComponent <BatchServiceComponent>();

            _bus.Subscribe <BatchServiceComponent>();

            int batchCount = 100;

            CheckPoint publishCheckpoint = watch.Mark("Publishing " + batchCount + " batches");

            _threads = new ManagedThreadPool <int>(delegate(int batchLength) { SendBatch(batchLength); }, 10, 10);

            for (int i = 0; i < batchCount; i++)
            {
                _threads.Enqueue(100);
            }

            for (int i = 0; i < batchCount; i++)
            {
                bool received = BatchServiceComponent.Received.WaitOne(TimeSpan.FromSeconds(30), true);
                if (!received)
                {
                    _log.Error("Something went wrong, we never got a batch completed");
                    break;
                }
            }

            publishCheckpoint.Complete(batchCount * 100);

            watch.Stop();

            _log.Info("Test Complete");
        }
Пример #8
0
        public bool Execute()
        {
            Uri uri = _uriString.ToUri("The endpoint URI was invalid");

            if (string.Compare(uri.Scheme, "msmq", StringComparison.InvariantCultureIgnoreCase) == 0)
            {
                IEndpointManagement management = MsmqEndpointManagement.New(uri);

                long count = management.Count();

                _log.Info(new TextBlock()
                          .BeginBlock("Count URI: " + uri, "")
                          .BodyFormat("{0} message{1}", count, count != 1 ? "s" : "")
                          .EndBlock()
                          .ToString());

                return(true);
            }

            _log.ErrorFormat("Count is not supported for the specified transport type: {0}", uri.Scheme);

            return(true);
        }
Пример #9
0
        public static long GetMsmqMessageCount(this IEndpointAddress address)
        {
            IEndpointManagement management = MsmqEndpointManagement.New(address.Uri);

            return(management.Count());
        }
Пример #10
0
        protected void Purge(IEndpointAddress address)
        {
            var management = MsmqEndpointManagement.New(address.Uri);

            management.Purge();
        }