Archived

This forum has been archived. Please start a new discussion on GitHub.

IceStorm message server pauses on new connections

We have developed a distributed agent architecture using the IceStorm publish-subscribe scheme. Each agent publishes and subscribes to multiple topics. We have total of 9 topics. Two of those agents constantly publish sensor data (consisting of roughly 100 doubles and booleans ) at 2 Hertz frequency. Overall performance is good but data flow is paused for several seconds (up to a minute) when a new agent is starting and makes new connections to the message server or when a message of a different topic is published. Data flow resumes to normal after the interruption.

We have turned off ACM for both server and clients.

We are using Ice version 3.0.1.

We would appreciate for any help with this problem.

Comments

  • benoit
    benoit Rennes, France
    Hi,

    Could you please set your signature? See [thread=1697]this thread[/thread] for details on how to set it.

    Cheers,
    Benoit.
  • benoit wrote:
    Hi,

    Could you please set your signature? See [thread=1697]this thread[/thread] for details on how to set it.

    Cheers,
    Benoit.
    Thank you for the reply. I just set it.

    Bernard: You also need to check "Show your signature" ... just did it for you.
  • matthew
    matthew NL, Canada
    I suspect what is going on is that you have a subscriber that becomes unreachable and IceStorm is running out of threads causing the slow-down that you are reporting. What is the IceStorm configuration?

    I would suggest increasing the number of threads in the server side thread pool (especially if you are using the default value of 1).

    Ice.ThreadPool.Server.Size=10

    You can also increase the tracing levels to find out what IceStorm is doing when it blocks.

    Ice.Trace.Network=2
  • Matthew,

    Thank you very much. It has improved the performance alot. but it still has a little initial connection slow down. Now, It only slow down for the initial connection, which means when a publisher publishes a message for the first time, it pauses a little bit.
  • matthew
    matthew NL, Canada
    Do you mean there is a slow-down each time a new publisher connects to IceStorm? Or the first time a message is published to a topic? New subscribers connecting don't appear to affect performance? How long is the slow-down? Are you sure that you don't have unreachable endpoints in the proxies that the subscribers are passing to IceStorm? You can check this by using network level tracing (Ice.Trace.Network=2) and observing the endpoints to which IceStorm attempts to connect.