[NETCONF-390] Netconf performance in cluster is way worse than in single node Created: 04/Apr/17 Updated: 15/Mar/19 Resolved: 21/Apr/17 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | netconf |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Vratko Polak | Assignee: | Vratko Polak |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 8149 |
| Description |
|
Single node CSIT result [0] is around 400 requests per second. [0] https://logs.opendaylight.org/releng/jenkins092/netconf-csit-1node-periodic-scale-all-carbon/219/archives/log.html.gz#s1-s2-t5-k3-k15-k6-k2-k2 |
| Comments |
| Comment by Miroslav Kovac [ 10/Apr/17 ] |
|
Could you pleas rerun sandbox job for 3node clustering |
| Comment by Vratko Polak [ 10/Apr/17 ] |
|
The performance for Carbon [0] https://logs.opendaylight.org/releng/jenkins092/netconf-csit-3node-periodic-clustering-scale-all-carbon/228/archives/log.html.gz#s1-s2-t6-k3-k15-k6-k2-k2 |
| Comment by Tomas Cere [ 13/Apr/17 ] |
|
Is this a comparison between the clustered and non-clustered feature or clustered feature running in single and 3 node scenarios? |
| Comment by Miroslav Kovac [ 18/Apr/17 ] |
|
Could you also send me what parameters are you using for testtool and RestPerfClient, please? I am not really sure how you could achieve such a big gap in those tests because when I am testing it localy I get only 2 to 5 requests difference. My performance is 17 to 20 requests for netconf-topology and 15 to 17 requests for netconf-clustered-topology. Only time I was able to receive higher amount of requests, was when I was sending requests to mountpoint which was not created and therefore could not write anything. I was just wondering if this can`t be also case of the robot test. Or something similiar. |
| Comment by Vratko Polak [ 19/Apr/17 ] |
|
> Is this a comparison between the clustered and non-clustered feature Looking at the job definition: Yes, it is. > what parameters are you using for testtool and RestPerfClient Beryllium commands (identical for single node and cluster, except log file name): Restperfclient start [5]: request1.json is here [6]. [4] https://logs.opendaylight.org/releng/jenkins092/netconf-csit-1node-periodic-scale-only-beryllium/456/archives/log.html.gz#s1-s2-t1-k3-k7 |
| Comment by Tomas Cere [ 19/Apr/17 ] |
|
(In reply to Vratko Polák from comment #5) Do we know if the requests are going through the slave mountpoint? The master mountpoint should have similar performance numbers as the nonclustered feature |
| Comment by Miroslav Kovac [ 20/Apr/17 ] |
|
Could you try to start Restperfclient with asynRequests --async-requests false??? for both single node and 3 node cluster? |
| Comment by Andrej Mak [ 20/Apr/17 ] |
|
https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-1node-periodic-scale-only-carbon/ https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-3node-periodic-clustering-scale-only-carbon/ That's the reason of poor performance. In current implementation of netconf clustered topology it isn't possible to use async requests, since it permits only one open write transaction at the time and async requests would cause IllegalStateExceptions - Transaction is already opened for another user. |
| Comment by Andrej Mak [ 20/Apr/17 ] |
|
https://git.opendaylight.org/gerrit/#/c/52235/ would allow to use async requests in tests. However, simultaneous write on real device via either odl-netconf-topology or odl-netconf-clustered-topology would fail, because lock rpc is sent to device before every write and unlock is sent when write completes. |
| Comment by Vratko Polak [ 20/Apr/17 ] |
|
> Do we know if the requests are going through the slave mountpoint? Requests are doing through member-3, which is practically always a slave. |
| Comment by Andrej Mak [ 21/Apr/17 ] |
|
https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-1node-periodic-scale-only-carbon/ should be adapted to use --async-requests false |
| Comment by Vratko Polak [ 21/Apr/17 ] |
|
> use --async-requests false Suite change [0] tested on Sandbox [1] confirms the (sync) performance is basically the same on 1 and 3 nodes. [0] https://git.opendaylight.org/gerrit/#/c/55707/2 |