Rafal,a) message consumers are trasient, this is enforced by the RSBFacility
b) I haven't done any perf testing for rhino queues, so it is not surprising
that you find issues.
Can you send me the sampe app you use for that?

On Thu, Apr 30, 2009 at 4:10 PM, nightwatch77 <[email protected]>wrote:

>
> Hi, I'm experiencing some strange performance problems with RSB on
> rhino queues transport
> With MSMQ transport, I'm able to send 1000 messages in 8.2 seconds.
> Processing them is also quite fast.
> With rhino queues, sending the same 1000 messages takes 111 seconds.
> Processing them all takes about twice as long.
> During program execution I can see a slowdown in message receiving -
> probably this depends on esent database size? Program is able to
> handle only few messages per seconds near the end. Also, task manager
> shows memory usage growing at constant pace from 20 to about 500 MB.
> I'm doing tests on Win 2003 inside Virtual PC 2007.
>
> Also, there's some problem with Windsor container - I'm setting
> message consumer to be a singleton, but it gets created every time a
> message arrives. Is it possible to use singletons with RSB?
>
> My configuration:
> <facilities>
>      <facility id="forwarder"
> type="WindsorTest1.HandlerForwardingFacility, WindsorTest1"></
> facility>
>      <facility id="rhino.esb"
> type="Rhino.ServiceBus.Impl.RhinoServiceBusFacility,
> Rhino.ServiceBus">
>        <bus threadCount="1"
>           numberOfRetries="5"
>             endpoint="rhino.queues://rafal-vpc1/rsbtest"
>             name="atotest"
>             />
>        <messages>
>          <add name="WindsorTest1"
>             endpoint="rhino.queues://rafal-vpc1/rsbtest"/>
>        </messages>
>      </facility>
>
>    </facilities>
>
>
>    <components>
>      <component id="MyComponent" type="WindsorTest1.MyDearComponent,
> WindsorTest1" service="WindsorTest1.IMyDearComponent, WindsorTest1"
> lifestyle="singleton">
>        <!--<forward>
>          <service>Rhino.ServiceBus.ConsumerOf`1
> [[WindsorTest1.MyDearMessage, WindsorTest1]], Rhino.ServiceBus</
> service>
>        </forward>-->
>      </component>
>
>      <component id="C2" type="WindsorTest1.MyDearConsumer,
> WindsorTest1" service="Rhino.ServiceBus.ConsumerOf`1
> [[WindsorTest1.MyDearMessage, WindsorTest1]], Rhino.ServiceBus"
> lifestyle="singleton">
>      </component>
>    </components>
>
> Oops, another run on test application without deleting the esent
> database completely blocked my system, and then there was an
> exception:
> Error: Microsoft.Isam.Esent.Interop.EsentErrorException: Error
> VersionStoreOutOfMemory (JET_errVersionStoreOutOfMemory,
> Version store out of memory (cleanup already attempted))
>   at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err) in C:\OSS
> \ManagedEsent\EsentInterop\CheckedApi.cs:line 875
>   at Microsoft.Isam.Esent.Interop.Api.JetGetTableColumnInfo(JET_SESID
> sesid, JET_TABLEID tableid, String columnName, JE
> T_COLUMNLIST& columnlist) in C:\OSS\ManagedEsent\EsentInterop
> \CheckedApi.cs:line 453
>   at Microsoft.Isam.Esent.Interop.Api.GetColumnDictionary(JET_SESID
> sesid, JET_TABLEID tableid) in C:\OSS\ManagedEsent\
> EsentInterop\MetaDataHelpers.cs:line 29
>   at Rhino.Queues.Storage.AbstractActions..ctor(JET_INSTANCE
> instance, String database) in C:\dev\rhino-tools\queues\Rh
> ino.Queues\Storage\AbstractActions.cs:line 45
>   at Rhino.Queues.Storage.GlobalActions..ctor(JET_INSTANCE instance,
> String database, Guid instanceId) in C:\dev\rhino-
> tools\queues\Rhino.Queues\Storage\GlobalActions.cs:line 19
>   at Rhino.Queues.Storage.QueueStorage.Global(Action`1 action) in C:
> \dev\rhino-tools\queues\Rhino.Queues\Storage\QueueS
> torage.cs:line 162
>   at Rhino.Queues.QueueManager.Send(Uri uri, MessagePayload payload)
> in C:\dev\rhino-tools\queues\Rhino.Queues\QueueMan
> ager.cs:line 380
>   at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.SendInternal
> (Object[] msgs, Endpoint destination, Action`1 custo
> mizeHeaders) in C:\dev\rhino-tools\esb\Rhino.ServiceBus\RhinoQueues
> \RhinoQueuesTransport.cs:line 384
>   at Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.Send(Endpoint
> destination, Object[] msgs) in C:\dev\rhino-tools\
> esb\Rhino.ServiceBus\RhinoQueues\RhinoQueuesTransport.cs:line 359
>   at Rhino.ServiceBus.Impl.DefaultServiceBus.PublishInternal(Object[]
> messages) in C:\dev\rhino-tools\esb\Rhino.Service
> Bus\Impl\DefaultServiceBus.cs:line 354
>   at Rhino.ServiceBus.Impl.DefaultServiceBus.Publish(Object[]
> messages) in C:\dev\rhino-tools\esb\Rhino.ServiceBus\Impl
> \DefaultServiceBus.cs:line 59
>   at WindsorTest1.MyDearComponent.Test() in C:\dev
> \WindsorTest1\MyDearComponent.cs:line 52
>   at WindsorTest1.Program.Main(String[] args) in C:\dev
> \WindsorTest1\Program.cs:line 21
>
>
> oh my!
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to