I would definitely not recommend that.
Xojo Web is made for web apps, not websites.
I found an issue if I saved my release 3 app with the active window containing buttons and fields when I loaded into 4 there were errors in that screen.
I saved the app in version 3 with the launch screen as the active (no buttons or fields). Opened in release 4 and all worked well.
Jeremie:
You wouldn’t use Xojo for the “My Account” parts that is currently being handled by PHP at https://www.xojo.com/account/login.php ?
Im currious why you think PHP is the better choice here?
I’m sorry I am late to this party…
This concerns me a little bit. Web apps running on a single processor have all kinds of hard to track issues. Remember… nginx and Xojo would be sharing time so a tight loop in Xojo could cause 5xx errors in nginx just because it doesn’t get enough time to process things.
There’s a reason Xojo cloud has a minimum of two cores in their offering.
This I had not known, nor previously considered. It’s a great bit of knowledge that should be featured somewhere, though admittedly, I don’t have a great idea for where.
@Greg_O, thanks for the info. I used Xojo “Cloud” at one point, but it was too slow for my location (Uruguay), so I’m using a local provider. I’ve been thinking about upgrading my existing plan to 2 processors, since I’m loading the server with several apps thanks to the simplicity of lifeboat, so this would be one more reason to do it.
@Greg_O, gracias por la información, en algún momento use Xojo “Cloud” pero me resulto bastante lento para mi ubicación (Uruguay), por eso estoy con un proveedor local. He estado pensando en aumentar el plan que ya tengo a 2 procesadores (y un poco más de RAM), ya que estoy cargando el server con varias app gracias a la simpleza de lifeboat, asi que éste seria un motivo más para hacerlo.
To be honest, I wouldn’t expect anyone to run a modern dynamic site with a single core, even with a language like php.
I did think about another limiting item here. VPSs have another problem which isn’t immediately obvious. Because they still run in a shared environment, that is on shared hardware using a hypervisor, sometimes a host will throttle or even reboot a VPS if it is using 100% CPU. This can be a hard thing to diagnose, but if you look at the system logs it usually shows up as a reboot sequence prefixed by a system message explaining why.
This is quite a revelation and I’m grateful that you chimed in. Personally I haven’t seen any issues running on a VPS with a single core but you’ve definitely piqued my interest and curiosity here. Maybe the deployment docs should be updated to include this tidbit.
Based upon what you’re saying, it sounds like any Xojo Web 2.0 project should always be on a 2 core VPS at the minimum. Am I understanding this correctly? What about Web 1.0 projects?
Are there any other reasons you can speak to as why Xojo cloud has a minimum of two cores?
Web 1 is going to depend on how it’s run. The old CGI mode required a lot of memory, especially for apps that allowed file uploads. Standalone kept a lot of things in memory and didn’t have all of the optimizations that came with http/1.1.
There are two reasons that seem to make sense. Firstly, that the cost+overhead for a server with one or two vCPUs is negligible and that with a load balancer in place you can basically ensure that the app will never be completely offline. Second, that most web applications are going to need to grow into having a database backend, and servers with a single core just can’t handle three high-demand processes at the same time.
It’s also important to remember that Xojo can tune Apache and set the launch options to optimize performance any way they want.
Many thanks Greg and as always you’re a wealth of knowledge and a huge asset to the Xojo Community.
Do you think it would be worthwhile to get this documented in the Xojo Docs? I’m happy to take the time to file a ticket.
That’s up to you. I don’t use Xojo cloud and no longer work there.
New ticket created:
78245 - Add Web Deployment CPU Core Requirements to Xojo Docs