Estimation of expected background traffic for a subscriber that is not receiving data?

Options
allmhhuran
allmhhuran Member Posts: 44 ✭✭✭
edited February 2022 in PubSub+ Event Broker #1

Suppose I have a c# application which receives guaranteed messages from a solace pubsub+ broker.

The application runs as a windows service or daemon. In other words it is always running, but essentially just sitting idle (asynchronously waiting on an IAsyncEnumerable) when there is no data to process.

Under this scenario I understand that there will still be some amount of network traffic and logical processing going on inside the solace libraries, for example to keep the TCP connection open, passing control messages around, etc.

Can anyone give a rough estimate of how much background activity that might be, in terms of, say, bytes per second? I could of course run one for a while and watch traffic, but I wonder if there's any rough "expectation value".

The reason why I ask is that Microsoft has a new cloud-native technology that finally fits the use case of worker services / daemons, which is called Azure Container Apps. The technology is still in preview, but I have just heard from the engineering team that there will be a pricing model such that idle time is charged at a lower rate, and something is considered "not idle" if:

its vCPU usage goes above 0.01 cores or it receives over 1000 bytes per second.

(Exact pricing rules still being worked out)

I'm also wondering whether the amount of background traffic scales based on number of flows, or just number of sessions.

Tagged:

Best Answer

  • Ragnar
    Ragnar Member, Employee Posts: 64 Solace Employee
    #2 Answer ✓
    Options

    Keepalives are sent once every 3 seconds. The KA and KA response are 12 bytes each. So if 'traffic is just payload thats about 8 bytes/second. If it also includes TCP/IP overhead its about 35 bytes/second.

    This is per session.

Answers

  • Ragnar
    Ragnar Member, Employee Posts: 64 Solace Employee
    #3 Answer ✓
    Options

    Keepalives are sent once every 3 seconds. The KA and KA response are 12 bytes each. So if 'traffic is just payload thats about 8 bytes/second. If it also includes TCP/IP overhead its about 35 bytes/second.

    This is per session.

  • allmhhuran
    allmhhuran Member Posts: 44 ✭✭✭
    Options

    Excellent, thanks for such a precise answer. Looks like these azure container apps will be a very nice host technology for solace clients!

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 923 admin
    Options

    Awesome @Ragnar, thanks for that info!

    @allmhhuran, I'd love to hear what you find out or check out a sample app if you make one available publicly! From your info above it does sound like that will be a nice host technology.