05-10-2017 01:15 AM - edited 03-01-2019 03:48 AM
Hi team,
I am looking for more detailed informations how synchronous and asynchronous transactions are handled trough API and if we have API transaction performance data available.
Thanks you very much for your support
05-10-2017 01:16 AM
Are you referring to “classical commit” vs “commit via commit-queues”?
05-10-2017 01:16 AM
Regarding transaction/request throughput, the bottleneck usually is the slowest device in the set of devices that are being touched as part of the NB request.
If we use a synchronous approach then the caller has to wait until all device programming is complete.
If we use an asynchronous approach then there is the option to queue/buffer, however if the queue doesn’t drain fast enough then the queue will continue to grow until we run out of system resources. Not sure if there is a limit to the queue size and this queue is more to handle big bursts of requests from the North. The bottleneck again will still usually be the slowest device in the change set. NSO has been optimised for performance to a great extent given that our entire configuration database (CDB) is in-memory.
There were some tests done with our L3VPN example and the throughput was 12-15 req/sec:
https://cisco.box.com/s/c86pydu6ibplk16d2hvv9yvlxg7t6f0y
However, the results may come out better if we are to use more powerful server for NSO. I remember a request being made to engineering to come up with updated document on server sizing and throughput measurements.
05-10-2017 01:16 AM
Thanks a lot for the information. That helps a lot.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide