Projects tigase _server server-core Issues #1483
Time based request limit (#1483)
Unknown opened 2 years ago

I have a problem with… In 1 connection, I am making IQ get requests in a loop.

<iq to='xxx@domain' id='Ux123-123' type='get'><vCard xmlns='vcard-temp'></vCard></iq>

Below around 900(+/- 30) requests, everything is fine. Response count matches to the request count. Above 900 requests, maximum number of ack, I can get is around 550. If I make it slower, again everything is fine.

It seems there is a limitation that prevents number of requests that could be send in a period of time. What could be the limiting factor?

I increased the relevant or irrelevant settings that could be the limitation.

'cm-traffic-throttling' = 'xmpp:50000:0:disc,bin:2000m:0:disc'
'net-buff-standard' = '16k'
'max-queue-size' = 1000000
'max-user-io-queue-size' = 100000
c2s {
'elements-number-limit' = 100000
    'watchdog-delay' = 20000L
    'watchdog-ping-type' = XMPP
    'watchdog-timeout' = 22000L
    'maxInactivityTime' = '45000'
}

Details (please complete the following information):

Cluster disabled. Tigase version: 8.1.0 JVM flavour and version : openjdk 11.0.7 2020-04-14 Operating system/distribution/version : Ubuntu 18.04.1 LTS INTEL(R) XEON(R) PLATINUM 8259CL CPU @ 2.50GHZ GNU/Linux - 1 CPU - 2 virtual CPU - 4.06G RAM

Unknown commented 2 years ago

Those 900 requests are in what period of time? Or is it just a burst? Do you receive any error or simply stop receiving acks? Are you referring to StreamManagement ack or IQ responses to those requests? In this case most relevant configuration should be cm-traffic-throttling - could you try disabling it by setting it to 0, i.e.:

'cm-traffic-throttling' = 'xmpp:500000:0:disc,bin:0:0:disc'
Unknown commented 2 years ago

It was my mistake. In my tests, I disconnected before all requests are processed. cm-traffic-throttlingis working fine. Thank you.

issue 1 of 1
Type
Question
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#1483
Please wait...
Page is in error, reload to recover