Guilherme,

We also facing this issue.

We create a custom purge method %OnDelete and Trigger  Delete at Persistent related classes used by Ens.Request/Ens.Response. This also deletes Stream objects.

The difficult to cleanup streams located at ^CacheStream or ^Ens.MessageBodyS is that they don't have any information about their "father", so you have to see what classes/routines uses GlobalStream*.

Sometimes you can use stream.CopyFromAndSave method, and don't use this class as message. So it will be persistent forever.

Regards

Hao Ma,

May be you can include some trace in your BS to check each point what is the time.

We had something like this: sometimes the parser of client request (xml/json) takes time to be processed and converted into a message, depending what are you doing in BS. I was happening mainly for big messages.

Also you have to consider transportation time at tcp protocol level.

In the past we had some cases that client system takes almost 30 seconds to prepare his request and call our webservice. And Ensemble uses just 3 seconds to do all his job.

I hope this can be helpfull for you

Regards