hi alt,
The Sent Queue always shows as 0. I have set speed of 1mps and sent 1500 messages but the queue always return 0.
Latest beta library version.
see log dump.
TX: Q:0, REQ: 147 (0.60 m/s), RSP: 145 (0.86 m/s); RX: Q:0, REQ: 145 (0.86 m/s), RSP: 147 (0.60 m/s)
TX: Q:0, REQ: 6 (0.03 m/s), RSP: 0 (NaN m/s); RX: Q:0, REQ: 0 (NaN m/s), RSP: 6 (0.03 m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 15 (0.07 m/s); RX: Q:0, REQ: 15 (0.07 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 44 (0.18 m/s); RX: Q:0, REQ: 44 (0.18 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 152 (0.61 m/s), RSP: 150 (0.86 m/s); RX: Q:0, REQ: 150 (0.86 m/s), RSP: 152 (0.61 m/s)
TX: Q:0, REQ: 6 (0.03 m/s), RSP: 0 (NaN m/s); RX: Q:0, REQ: 0 (NaN m/s), RSP: 6 (0.03 m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 15 (0.07 m/s); RX: Q:0, REQ: 15 (0.07 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 44 (0.18 m/s); RX: Q:0, REQ: 44 (0.18 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 157 (0.61 m/s), RSP: 155 (0.87 m/s); RX: Q:0, REQ: 155 (0.87 m/s), RSP: 157 (0.61 m/s)
TX: Q:0, REQ: 6 (0.03 m/s), RSP: 0 (NaN m/s); RX: Q:0, REQ: 0 (NaN m/s), RSP: 6 (0.03 m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 15 (0.07 m/s); RX: Q:0, REQ: 15 (0.07 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 44 (0.18 m/s); RX: Q:0, REQ: 44 (0.18 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 162 (0.62 m/s), RSP: 160 (0.87 m/s); RX: Q:0, REQ: 160 (0.87 m/s), RSP: 162 (0.62 m/s)
TX: Q:0, REQ: 6 (0.03 m/s), RSP: 0 (NaN m/s); RX: Q:0, REQ: 0 (NaN m/s), RSP: 6 (0.03 m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 15 (0.07 m/s); RX: Q:0, REQ: 15 (0.07 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 8 (0.04 m/s); RX: Q:0, REQ: 8 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 45 (0.17 m/s); RX: Q:0, REQ: 45 (0.17 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 167 (0.63 m/s), RSP: 165 (0.87 m/s); RX: Q:0, REQ: 165 (0.87 m/s), RSP: 167 (0.63 m/s)
TX: Q:0, REQ: 9 (0.02 m/s), RSP: 0 (NaN m/s); RX: Q:0, REQ: 0 (NaN m/s), RSP: 9 (0.02 m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 20 (0.06 m/s); RX: Q:0, REQ: 20 (0.06 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 12 (0.04 m/s); RX: Q:0, REQ: 12 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 12 (0.04 m/s); RX: Q:0, REQ: 12 (0.04 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 1 (∞ m/s), RSP: 65 (0.18 m/s); RX: Q:0, REQ: 65 (0.18 m/s), RSP: 1 (∞ m/s)
TX: Q:0, REQ: 364 (0.99 m/s), RSP: 362 (1.25 m/s); RX: Q:0, REQ: 362 (1.25 m/s), RSP: 364 (0.99 m/s)
Queue Size shows 0 in metrics
Re: Queue Size shows 0 in metrics
Hi vineet,
It means that library sends PDU immediately after serialization and remote side handles it fast enough.
SendSpeedLimit delays PDU before placing into the send queue.
It means that library sends PDU immediately after serialization and remote side handles it fast enough.
SendSpeedLimit delays PDU before placing into the send queue.
Re: Queue Size shows 0 in metrics
So alt how we can get the count of messages that is inside the library for which pdu has not been sent.
And we are also getting esme_rmsgqful when we submitted in bulk with submitspeed of 240 any solution for this.
And we are also getting esme_rmsgqful when we submitted in bulk with submitspeed of 240 any solution for this.
Re: Queue Size shows 0 in metrics
With the version 2.9-beta you can use client.SendQueueLimit property to limit number of requests waiting for response which limits memory consumption for a smpp connection. It helps also to avoid ESME_RMSGQFUL (Message queue full) response status from the SMPP server.
The number of requests waiting for response you can read from metric: client.Metrics.Sent.Requests.WaitingForResponse
More about metrics https://docs.inetlab.com/smpp/v2.8/arti ... ml#metrics
The number of requests waiting for response you can read from metric: client.Metrics.Sent.Requests.WaitingForResponse
More about metrics https://docs.inetlab.com/smpp/v2.8/arti ... ml#metrics
Re: Queue Size shows 0 in metrics
please suggest a value for SendQueueLimit if normally batch submission is around 15k-25k to avoid ESME_RMSGQFUL. And shouldn't send speed limit should delay the message sending regardless how many are begin fed in queue.
Re: Queue Size shows 0 in metrics
The number of requests waiting for response you can read from metric: client.Metrics.Sent.Requests.WaitingForResponse i tried this it always shows 0 or 1. but my problem is i have submitted batch containing 50 messages.
IEnumerable<SubmitSmResp> ResponseList = (await SMPPClient.SubmitAsync(batch)).ToArray();
SubmitSpeed is set to 1 mps.
Library is processing at 1 mps but there is no way to check the number of pending messages inside the library. all metrics shows wrong info.
like it should show that 45 messages are still pending for processing out of 50.
in v1 of library you sendqueue shows this information properly.
IEnumerable<SubmitSmResp> ResponseList = (await SMPPClient.SubmitAsync(batch)).ToArray();
SubmitSpeed is set to 1 mps.
Library is processing at 1 mps but there is no way to check the number of pending messages inside the library. all metrics shows wrong info.
like it should show that 45 messages are still pending for processing out of 50.
in v1 of library you sendqueue shows this information properly.
Re: Queue Size shows 0 in metrics
You should find out by provider when he sends ESME_RMSGQFUL status and how many not processed requests are allowed to send.vineet wrote: Fri Nov 20, 2020 6:04 pm please suggest a value for SendQueueLimit if normally batch submission is around 15k-25k to avoid ESME_RMSGQFUL. And shouldn't send speed limit should delay the message sending regardless how many are begin fed in queue.
It works this way:
- application submit a message
- library checks if SendQueueLimit is full and blocks your code for short time until there is a free slot in requests without response collection.
- library delays the code execution when application sends too fast for SendSpeedLimit.
- library places a request to the send queue.
- send queue thread sends serialized PDU to remote endpoint.
Re: Queue Size shows 0 in metrics
I think 1 mps is slow enough for remote side to process a request from your application.vineet wrote: Fri Nov 20, 2020 6:15 pm The number of requests waiting for response you can read from metric: client.Metrics.Sent.Requests.WaitingForResponse i tried this it always shows 0 or 1. but my problem is i have submitted batch containing 50 messages.
IEnumerable<SubmitSmResp> ResponseList = (await SMPPClient.SubmitAsync(batch)).ToArray();
SubmitSpeed is set to 1 mps.