Rocket Modern Experience (formerly LegaSuite)

 View Only

Performance Considerations – User Base and Topology

  • 1.  Performance Considerations – User Base and Topology

    ROCKETEER
    Posted 08-27-2021 10:30
    Edited by Sarah Gilbert 08-27-2021 10:33

    When implementing a Web based solution there are a number of factors to consider to assure optimum performance.  This topic provides high-level suggestions and recommendations regarding your user base and topology needs.


    User base  

    Evaluate your user population, and categorize users, based on their system usage.

    Where are your users connecting from?  Are they based locally, connecting over the Web or through VPN?  How many users will be concurrently connecting and working on the application during peak hours?  What type of activities do your users perform? Queries, data entry, etc.

    To ensure that a Rocket MX Web deployment can handle peak loads, use formulas to calculate the concurrent users and sessions.  The research paper "The Estimation Method of Common Testing Parameters in Software Stress Testing" provides the formulas that are described below. For more information, go to https://www.researchgate.net/ publication/254025636_The_estimation_method_of_common_testing_parameters_in_software_stress_testing.

     

    Topology

    Choose the optimal location for routers and servers.

    Scalability depends on the traffic that the network can route and process. In an existing network environment, make sure that routers and servers do not become bottlenecks for processing traffic. Upgrading a few servers by adding memory, better network cards, faster CPUs, and so on should improve performance.


    For a local deployment, place the Web application server and the Web engine as close to the host system as possible.

    Local Deployment


    For a cloud deployment, try to reduce latency among the components. For best results, host the Web engine and the Web application server on the same cloud instance.

    Cloud Deployment

    CPU: Available CPU power is a critical performance factor. When processor utilization continuously exceeds 90%, performance starts to decrease. When utilization is at 100%, users notice that starting and navigating the application is slower. You can bind a process to a specific CPU or core, but for optimal performance, let the operating system perform load balancing.

    Memory: Having adequate memory is important for achieving the best performance from your environment.  The Web engine and the Web application server allocate initial memory on start-up. Each time a Web client starts, its session data is stored in server memory. As the user navigates from page to page, the related data is loaded into memory. If server memory is unavailable, the server stores the data in its paging file.  For SSD disks, which is now the standard will not cause any performance degradation but for non-SSD disks this may have an unwanted performance hit.
    The memory for the web servlet can be configured as required.  However, the Engine cannot be configured and will take what it needs.  When more physical memory is used than is available, the OS will start swapping and performance will decrease.

    Network: Most companies use gigabit switches, meaning the following should not be an issue, however, it is worth mentioning the following factor.  The network interface card (NIC) moves data between the system data bus and the network media. Because the system data bus operates at a higher speed than the network media, the NIC might become a performance bottleneck. If the NIC is too slow, server throughput is mainly based on how quickly the NIC moves data to the network media.  The network protocol also affects performance. If the network uses a combination of IPv4 and IPv6, unnecessary DNS lookups slow down connections. If the network uses Transport Layer Security (TLS) to secure connections, additional CPU time is consumed.  To improve network performance, use Quality of Service (QoS) to prioritize the traffic:

    • Data that flows between the Web client running in a web browser and the Web application server
    • Data that flows between the Web application server and the Web engine
    • Data that flows between the Web engine and the host system

    Please also see the following related forum topics:


    Further documentation for Rocket Modern Experience Web Edition can be found on our docs portal: https://docs.rocketsoftware.com/



    ------------------------------
    Sarah Gerards-Gilbert
    Principal Technical Support Engineer
    Rocket Software
    ------------------------------