NXT has achieved 100 TPS in testnet, can BURST also?



  • The following text is extracted from https://www.jelurida.com/nxt-loadtest-results and describes a recent NXT feat. Since BURST is NXT-based, can we also use this? Credits to @gpedro for showing me the link.

    Nxt Blockchain - Loadtest Results

    Here are the results from a blockchain workshop conducted on May 15th, 2017. Test was performed using a modified version of an Nxt 1.11.5 private blockchain instance. During the test, 3 million sendMoney transactions were submitted to the blockchain by a load testing tool, while the nodes behavior and performance were carefully inspected and profiled.

    Test results and observations are listed below:

    Hardware

    Node #1 - Asus N752VX 16GB RAM 256GB SSD Windows 10 64 bit
    Node #2 - Dell Latitude E5550 16GB RAM 512GB SSD Windows 7 64 bit
    Network - 1 Gigabit Ethernet

    Software

    Nxt 1.11.5 with modifications running as private blockchain
    Java 1.8.0_131
    JMeter 3.1 loader utility

    Test Configuration

    Two forging nodes each funded with 100M NXT
    sendMoney transactions
    3 Million confirmed transactions over a time period of over 8 hours
    Block time of 1 minute
    The existing 256 Transactions per Block limit has been removed

    Node Configuration

    nxt.peerReconnectDelay=0
    nxt.peerUpdateDelay=0
    nxt.maxNumberOfTransactions=72000
    nxt.maxUnconfirmedTransactions=72000
    nxt.peerServerDoSFilter.maxRequestsPerSec=3000
    nxt.wellKnownPeers=<node1>;<node2>

    Results

    Sustainable throughput of 100 TPS (Transactions per Second)
    CPU utilization average of 30%
    Memory consumption of 3 GB

    Observations

    Unlike the blockchain used by the loadtest, the current production public blockchain is practically limited to around 12 TPS on top of the 256 transactions per block artificial limit which further limits its throughput to around 4 TPS. At the moment higher throughput is not needed, however, it can be provided relatively quickly.

    Scaling the blockchain to 100 TPS required complex optimizations. These optimizations won’t be released under the GPLv2 license. They will be available only for commercial private blockchain projects or blockchains running under the JPL license.

    For a single workstation forging independently, maximum performance was 280 TPS.
    For the dual node test, the main limiting factor was fork resolution, switching to a better fork is a resource intensive operation - we should see improvement in this respect in Ardor due to more efficient peer networking.

    Workstation CPU and Memory were not maxed out by this test, from this we conclude that:
    I/O and mainly database performance is the limiting factor
    SSD drive is a must have for a high performance node
    Hardware with slower CPU and less RAM should still achieve similar results
    More specifically, the H2 database, currently used by Nxt, represents a possible bottleneck. We are looking into replacing it with an external database for commercial blockchain deployments.

    Conclusion

    Being able to scale to 100 TPS is a great achievement for Nxt, however we are not stopping here. For Ardor, we are planning to invest a lot of resources into load testing and scalability to make it an even more scalable blockchain solution.



  • @Propagandalf Great news if this can be ported over to Burst.



  • we are applying all the burst changes to nxt v1.11

    in theory after we update to that version we should be good.
    i think any changes to the 256 transactions per block wont be done immediately as that would require a fork



  • @Lexicon Burst 2.0! Lets go...



  • @Lexicon Actually @Lexicon they will not implement it and the code will not be open source... This was a testnet just to prove the scalability of NXT blockchain... What is being ported right now for Burst is the NXT 1.11.5?
    In the 1.11.5 the max transactions per block is still 256, although they say in the article that this 256 number is not the max the network can handle, and to prove it they did the testnet with some modifications to test a bigger limit! That is why I think this is not only great news to NXT but also pretty good news to Burst, since Burst will be using the same code base soon... xD



  • @Propagandalf said in NXT has achieved 100 TPS in testnet, can BURST also?:

    Scaling the blockchain to 100 TPS required complex optimizations. These optimizations won’t be released under the GPLv2 license. They will be available only for commercial private blockchain projects or blockchains running under the JPL license.

    Boo!



  • @FlippyCakes said in NXT has achieved 100 TPS in testnet, can BURST also?:

    @Propagandalf said in NXT has achieved 100 TPS in testnet, can BURST also?:

    Scaling the blockchain to 100 TPS required complex optimizations. These optimizations won’t be released under the GPLv2 license. They will be available only for commercial private blockchain projects or blockchains running under the JPL license.

    Boo!

    Flippy hit it on the head, closed source, pay per source/commercial use. If we were do this we would have to code it from scratch. I'm not saying it can't be done (obviously they did it) but I would expect this to be a significant bounty from a large transaction creator. I'm not sure what optimizations they are talking about other than potentially a large change to the DB structure.

    -IceBurst


  • admin

    We have to be careful with Nxt code as they are moving away from the MIT license, to GNU and now even to a commercial license structure.

    There remains enough great Nxt projects out there to share code with. :)


Log in to reply
 

Looks like your connection to Burst - Efficient HDD Mining was lost, please wait while we try to reconnect.