XOJO web --> Good for a small ERP with +/- 500 users

Hello
we are starting a new project from scratch, an ERP for small businesses. We consider XOJO, but we have doubts about performance in web applications.

Could anyone help us by telling us about their experience or even showing us some web application made in XOJO (similar to Studiometry)?

Paulo, a single instance of a web app will struggle with 500 concurrent users. It is however possible and relatively easy to do load balancing using a reverse proxy.

This old thread should be helpful. It contains some “religious arguments”, but also some very relevant information showing that yes, Xojo can be up to the task.

There are some examples of Xojo-made web applications here

I gather that you are new with Xojo. Welcome to the forum! You will find here many very helpful people and a generally very nice community.

If you have 5 people per instance and 8 instances on a 8 core server, you would need 13 servers to handle that, maybe better 20.

You need to script the update process and install a load balancer in front to redirect people to a free instance.

This has been done before, but not sure if someone did this size.

But well, if the load balancer can distribute new connections well, the database server is quick enough behind, than this should work well as well with three as with 100 servers.

I’d read this: http://john-joyce.com/xojo-and-load-balancing-with-haproxy/

John has done a lot of load balancing and did a presentation at XDC about using Xojo and load balancing. See:

https://forum.xojo.com/38905-xdc-2016-videos-are-here/0

We did a CRM system for a medium sized insurance broker. Fairly intensive database operations though mostly just reading of data. We can get about 100 logged users before the app gets affected. We have not had to go to load balancing but if the customer grows any more we will have to implement load balancing.

So I think it really depends on how many resources an individual user/session is going to use on a regular basis and then how many concurrent active users.

[quote=411571:@Christian Schmitz]If you have 5 people per instance and 8 instances on a 8 core server, you would need 13 servers to handle that, maybe better 20.

You need to script the update process and install a load balancer in front to redirect people to a free instance.

This has been done before, but not sure if someone did this size.

But well, if the load balancer can distribute new connections well, the database server is quick enough behind, than this should work well as well with three as with 100 servers.[/quote]
5 people per instance is rediculously low. You should be able to get 50 with the default settings and even more if you are really careful about how processing is done. I don’t see why a single 4 or 8 core server wouldn’t work.

In my experience having done heavy load balancing scenarios CPU cores is not the issue. It ultimately becomes RAM as session data grows and running several instances. I advise 10-15 concurrent users at a time per instance. The event loop with any significant processing is simply too slow to maintain healthy connections.

With operating on no information about complexity of processing I would recommend a server with 16 GB of RAM so you can easily run 30 instances. You could probably get by with 8 GB of RAM if you keep session data minimized.

We are at the early stage of developing and operating a computerized maintenance management system (CMMS) developed using Xojo (web app). The whole platform consist of [CMMS Web App] +[ Android App] + [In house Developed Sensor Gateway that collects data from LORA based wireless sensor and submit data to cloud/CMMS ].

I took the leap of faith and utilize Xojo as the core development tool against other tools.
Our servers are hosted at 4 location. 2 Xojo Cloud (Singapore + Bangalore) and 2 External (Malaysia + Dubai)

Concurrent users are not many(< 50). But the amount of data involved is quite huge (20 sites, over 50,000 work orders and > 1 million sensors data sampled at about 3 minutes apart for each sensors.

Based on our experience :
++ Points

  1. App performance wise is acceptable. In good network condition, i say its comparable to PHP.
  2. Development and maintenance of the system process is very good. This is much better than PHP. Dev team 1-2 person only for the CMMS.
  3. When you need to interface with native libraries (Matlab, Data Acquisition, SCADA system etc) Xojo web app really shines.

–Points

  1. We notice Xojo cloud sometimes slows down for a while and then becomes ok again for no apparent reason.
  2. For standalone Xojo web app, after a while the memory consumed becomes quite huge. Perhaps there are memory leaks originating from my codes. We are checking this.

I told the clients that they have to maintain at least 12 mbps for good performance. We will be looking into load balancing in the future.

My verdict : I love Xojo and currently using it for other web based application. It might have some hiccups but its a great tool with huge potential in the future.

My suggestion: Talk to your clients. If possible, develop a simple web app and test them in your client environment (assuming 500 users). See whether they can accept that. Or you can develop and validate them in your own environment. Have a ‘feel’ of the use
of Xojo web app. It might be a bit of a different experience for your client considering that at its current stage it doesn’t support responsive web app (we were informed that this will be included in future version of Xojo). We solve the responsive part by using the adaptive web app approach so that our app adjust them accordingly in Desktop and Smartphones.

Ciao, i make an Erp for italian market www.contabilitamacos.it with xojo
is not simply, for 500 user please use mysql and a good and fastest server.
make a big and total functionally semaphore system;
take all attention to document ( invoice, order, etc ) write and protocol number

what about choosing between CGI and Standalone?
and between Windows and Linux (what Linux)?

Theoratically CGI slower then standone. However we see no noticeable diffrent between apps hosted xojo cloud (cgi based i assume) vs standalone apps hosted at other provider.

Pls note that standalone server uses dedicated port. Cgi uses normal http port (port 80) and can share with other app.

Some institution (university etc) blocks internet / external network access using ports other than 80.