This topic is interesting, I’ll continue from where we were talking.
I couldn’t find a Feature Request for improving the cache control, so I’ve created one:
#73982: Improve Web framework static assets cache control
That should help with caching proxies, like Varnish, CloudFlare and the like. It will benefit applications being served from either Xojo Cloud or deployed on your own servers.
Add your thumbs if you’re interested! 
9 Likes
Ups, this was a mistake. I wrote it in english, but used a translator to check the grammar of my post. I then didn’t noticed that I copied the wrong language back
Sorry for that.
Here’s my english version (thanks to app Paste):
Back to topic.
My personal experience with heavy loaded, but short living demands is, that it’s not really a problem of the used technology but how you mix and match the whole stack.
What you problem is:
- beeing able to serve 3K or more concurrent users,
- which show up in seconds
- and which aren’t very gentle to the page and definitely not patient.
What you need:
- a robust website (= reliable technology),
- which can blow when needed (= fast scaling),
- which can then handle thousands of users (= balancing),
- which doesn’t cost much while not really used (= smart setup, automatic descaling)
What I would say is you solution:
- This looks like the typical use case for Kubernetes.
- This is the industry leading technology for scaling, load balancing and application orchestration.
- You containerize your software/website (“deployment”) and then you tell K8s how to handle it.
- You tell how many resources one container gets and when its time to spawn new containers.
- A load balancer (“ingress”) within K8s then distributes the load across all instances (“pods”) of your container.
- The more load the system sees, the more pods will it spawn.
- If the container exceed the limits of the given server, it is even able to start another server and distribute the pods across multiple servers.
- When the number of request or the resource consumption shrinks, it stops the pods and servers to the minimum.
The problem is:
Setting up such a system is very complex. It’s not like you can click here and there. It’s all code and it needs at least a little experience to set up. Also, it can grow to be pricy depending on which service you use (GoogleCloud, AWS etc.) and how your configuration works.
My conclusion:
Your problem is not a matter of the used programming language, but of the used environment where you put the service into. I personally wouldn’t use Xojo for such a system due to many reasons, but with right setup Xojo webapps will serve this specific usecase, just as any other web technology.
5 Likes
@Lars_Lehmann Thank you for your thoughtful reply. I’ll look into this. Cheers.
1 Like
I apologize because in my post written in Chinese I did not add the emotion that says: “it’s a joke”. I wanted to draw attention to the language in a joking way, because I also use a translator and the German fragment wasn’t translated for me.
The discussion is very interesting and you can learn something, thank you all
. Sorry again for the spam
6 Likes