Matthieu Simonin created DISPATCH-957:
-----------------------------------------

             Summary: Unbalanced memory consumption in a 2 routers 
configuration and specific workload
                 Key: DISPATCH-957
                 URL: https://issues.apache.org/jira/browse/DISPATCH-957
             Project: Qpid Dispatch
          Issue Type: Bug
          Components: Router Node
    Affects Versions: 1.0.1
         Environment: * At the time I was experimenting, I built the router 
from the source and
used 22400df dockerized. It's available in docker hub : 
msimonin/qdrouterd:22400df or msimonin/qdrouterd-collectd:22400f 

 
 * ombt version used embeds the following library
oslo.messaging==5.35.0
pyngus==2.2.2
python-qpid-proton==0.19.0

 
 * I used ombt-orchestrator to deploy all the stack using the g5k provider (see
https://github.com/msimonin/ombt-orchestrator/) In a local machine setup,
vagrant provider can be used but I'm not sure if it is reasonnable to scale the
above number of agents. I've attached nevertheless the configuration used.

 
 * Host Linux distribution is debian9

 

 
            Reporter: Matthieu Simonin
         Attachments: call.png, cast.png, conf.yaml, inc-calls.png, 
mem_usage.tar.gz

After discussion with Ken Giusti we deem appropriate to fill a bug to track the
following behavior.

Note also that the exact version used in the following description isn't 
exactly 1.1.0 but one built from source 22400df (master back in february).

I started two interconnected routers (router0 and router1)

router0 is where all my consumers connect router1 is where all my producers
connect .

The workload is an RPC test using oslo.messaging library using calls
(resp. casts) : clients keep sending message and block for the response (resp. 
do not block).


I've attached some observations:

1)

With 100 consumers and 100 producers and calls I observe a higher memory
consumption of router0 in comparison of the memory consumption of router1 (see
calls.png). Casts seem to less affect the router memory. Calls usually requires
more ressources because of the return values flowing back to the producer but
I wouldn't expect this big difference.

I've attached a tgz in which, you'll find the results of qdtsat -a,-m,-l

* before the benchmark (start)
* early during the benchmark (during)
* late during the benchmark (during-1)
* after the benchmark completed (after)


2) I've run a second test increasing incrementaly the (#clients, #servers) : 
[50, 100, 200, 500] (calls only)

see inc-calls.png
in this case the difference of the memory consumption between router0 and 
router1 is [50MB, 100MB, 300MB, 1.5GB]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to