I will appreciate your feedback about this topic. I would like to know if is there some tool to measure resource consumption of the RS/Xojo web app on the server.
Is common that some customers ask what should the server specifications for the web application runs without problems, and in my opinion this question should be answered quickly. I have not found documentation Xojo nothing to talk about this topic and some minimum specifications should have a web server to run an app.
Consumption for each web app that is instantiated and critical processes of that application, should be measurable in some way to land customers costs.
It depends largely on your apps and how they are used. The more objects you have per session, the more memory they will require.
For the most part, you can run your app locally, and test to see how much memory and CPU each session consumes, based on the Activity Monitor (OS X), Task Manager (Windows) or Process List (Linux).
Thank’s for the comments Brad and Greg. Comparing a basic Xojo web app (crud) with visual studio or php, is there any statistics on consumption, response time and traffic?
Hard to compare with PHP, entirely different beasts. I can tell you php/perl apps have been known to degrade server performance so much so that CloudLinux was created to help stabilize shared servers. My point is PHP/Perl is somewhat hard to compare against because how they are used by the web server. Xojo web apps are processes in themselves so its easier to notice the performance implications if that makes sense.
Although it is difficult to compare PHP and Xojo, I feel that, in fact, a Xojo application is generally much more resource intensive than PHP. What do you think?
Xojo is 100% Ajax.
As Xojo developers, we do not have the habit to optimize server resources and bandwith. Xojo being a high-level tool, the real working of the software is hidden, so it is less obvious to optimize.
The fact that it is compiled is very fast for small applications, but not very practical and resource-intensive for large?
I think that Ajax in Xojo certainly is a good techology that reduces significantly the trafic on the server. The problem on my concern, is too much code slows down the browser, and additionally have compatibility issues with some browsers like IE, Safari and Firefox Mobil. My web app is running aceptably on Chrome, even with the Ipad.
The million-dollar question is how to find the perfect balancing when we are developing the web app.
It would be good to hear from the community that already has considerable experience in web apps with RS / Xojo , what are the best practices recommended in order to get that balance …
I doubt it. Ajax/Xojo is very convenient, but there are many requests between the server and the browser. Servers are designed to send files, they do it very quickly. They also use all the cores of server microprocessors. They are also helped by the browsers cache.
I think that is why it is rare to see a great website fully ajax (google.com, apple.com …).
For its part, Xojo sends many requests and working hard to synchronize a copy of all objects (of each page open) on the server. It is also a 32-bit software which uses a single core.
Might be what you say, I will review in detail all the pages are closed after use. In other hand, your comment about 32-bit software is a specific characteristic of Xojo framework …? Does this mean that 64-bit servers with more cores can not be exploited …?
Not entirely. Travis Hill has done extensive work with creating helper apps to offload tasks. The advantage being that each gets its own memory space and can run on other cores. But no, Xojo apps don’t do tis on their own yet.