Ticket T258086
Visible to All Users
Duplicate

We have closed this ticket because another page addresses its subject:

XAF ASP.NET WebForms / Blazor UI deployment, scalability and load testing considerations

About scaling XAF ASP.NET applications

created 10 years ago

[DevExpress Support Team: CLONED FROM S36497: Deployment - Make it easier to scale XAF ASP.NET applications over multiple Web servers]
I am waiting desperately for this solution. Any ETA?

Show previous comments (3)

    Hi Dennis,
    Our requirements are quite simple, we have XAF business application that is being accessed with about 100 concurrent users (it is our initial requirements, the users might might grow in the future to about 500 concurrent users).

    1. Now, to be able to handle the request of 100 concurrent users what are the server hardware requirements?
    2. If the number of users increases, how to handle it?
    3. We are planing to provide our XAF solution to our customers on Cloud for scalability/performance/cost effective reasons. XAF is a non-searliazed session state application, how can we deploy it on multiple servers? Sticky Session have its own limitations hence we cannot work on it.
    4. Let's say if we install the 100 users application then can you define the hardware requirements or provide a calculator to get the details of the hardware like RAM, No. of CPUs, Speed of CPU, etc…

      Hi Dennis, here is some information on how we use XAF and how scaling would be beneficial to us
      Current setup

      1. Hosted on Amazon – Windows IIS instances.
      2. Database – MySQL
        We are in the process of migrating our 300+ clients (each client can have from 1 to 60 concurrent users) from our desktop product to our Hosted XAF solution. Each client has their own MySQL database and will run their own instance of the XAF application on Amazon.
        With the current Amazon-XAF setup it is easy to scale up, however it is impossible to scale down due to the sticky sessions. The only way to move a user from 1 Amazon instance to another when scaling down is to terminate their Session- which will cause them to lose all the connected users unsaved information.
        Due to this limitation of not being able to scale down gracefully we have to run at our high water mark for the user 24-7. If it was possible to scale down gracefully (ie. move a user from on instance to another – serializable session) we could realise a tremendous cost 300%+ for the hosting costs because our high water mark only occurs for 2-3 hours a day during week days.
        Do you have any advice ?
        Thanks
        Trentin
      Dennis Garavsky (DevExpress) 10 years ago

        Hi Trentin,

        Thanks for reminding us of your scenario. I remember that we already discussed possible ideas with you at Sticky session auto scaling down work around idea (Web). We do not have more news on this and I also recommend you search for more options in public community resources on the Web, because this down scaling problem with sticky sessions is not specific to XAF, but rather to any stateful Web application.

        Answers approved by DevExpress Support

        created 10 years ago

        Hello Mohammed,

        We neither provide such a universal calculator nor it is possible to create it without misleading people, because everything depends on the complexity of a specific application and implemented behavior, which is different for each developer, application type and environment.

        As written our docs, you need to "assume that about 10 MB of memory will be required per each user session" when choosing appropriate hardware or hosting environment. You can serve more users by providing more powerful hardware to a certain moment, which can only be determined empirically based on the request handling speed requirements for your specific application and environment. Bear in mind (as written on the XAF web page) that XAF apps are not designed to handle thousands of concurrent users at a time, so to meet such business requirements, you would better consider using other tools to build your app.

        To be honest, from your message, it is not quite clear whether you have already tried to deploy and test your app to the Cloud even with a single server (maybe, it will be sufficient to handle your app load) and have ever experienced real problems in this scenario? Also, it would be great to know which problems you practically experienced with "sticky" sessions so far (you can find considerations published in this blog post helpful).

        If you are looking for specs, several XAF users shared their feedback on the same subject in our LinkedIn group: https://www.linkedin.com/grp/post/2367509-5998453012597665794. Take special note that they did not require load balancing to handle a similar load.

          Show previous comments (4)
          Dennis Garavsky (DevExpress) 10 years ago

            @CM Tee: I appreciate your feedback in this regard and I believe it will be helpful for other users.

              I say it loud "XAF Rocks!" and yes as Densis said " it's like creating a fast race car that would also be a good SUV and…" i fully agree that everything has its pros and cons. Nevermind, now as i know that strengths and weakness of XAF architecture i would say it honestly that XAF still stands out in the market and meets my business needs.
              Regarding scaling, i will go with the Stick Session solution and try it out, who knows it will work and my customers will be happy.
              Thanks Dennis & CM Tee for your active participation to this ticket. Things are more clearer for me now.

              Dennis Garavsky (DevExpress) 10 years ago

                You're always welcome, Mohammed!

                Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

                Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.