Performance when switching pages

Hello,

First of all, I want to thank the team for their fantastic work with WeWeb; it is an incredible tool for web development. However, there is one issue that -from my point of view- could be significantly improved: the performance in page loading.

The time required to load a page seems unacceptable to me. When loading the elements of WeWeb, the server response time fluctuates (in my case) between values of 2 and 4 seconds (sometimes a little more and sometimes a little less). From my point of view, a server response time greater than 1 second is excessive.

If I were to use my own server, could I significantly improve these times?

Do you have any short-term development plans to improve this situation?

Thanks in advance

2 Likes

Hi @jesus77 :wave:

That seems super long indeed!

May I ask if this happens on all the pages or some pages only?

Also, is the data that is being loaded related to WeWeb elements or data from your backend?

I’d love to get more context about your project so we can investigate if there are some things that may be optimized on your side and what needs to be optimized on our side.

Thanks!

Hello @Joyce,

Thank you very much for your response. Let me explain:

This morning (we share the same time zone, I am writing from Spain), the server response times are fluctuating between 1.5 and 2.2 seconds; yesterday afternoon they were approximately 4 seconds.

The problem lies in the loading of WeWeb’s content. For the backend, I use a serverless application from MongoDB (MongoDB Atlas App Services) which has good response times.

Pages with more elements to load take a bit longer, but it is a general issue that affects the entire application.

I am building a SaaS for specific logistical processes. I am really happy with the functionalities and the development time that WeWeb provides, but it is true that the times should remain close to 1 second. I am going to open a ticket to provide you with a username and password, and I will take the opportunity to share something I have noticed in WeWeb’s response.

Thanks and regards

1 Like

Hi @jesus77 :wave:

Any chance you could share a short video here instead?

The ticketing app is reserved for bug reports. In this case, it doesn’t seem like a bug but more performance optimization opportunity.

Hello @Joyce, thanks again for your time and interest,

Today I have tried on several occasions throughout the day and the server response times are lower than yesterday: today they are on average of 2 seconds, yesterday they were close to 4 seconds. Could these differences be due to the server? If I could notice a substantial improvement, I wouldn’t mind deploying my own server and dedicating it exclusively to this web application.

I have recorded a video (the data is hidden through CSS) in which I switch between two screens with two lists of 15 elements each. As you can see, in the best case the server response time is 1.5 seconds and in most cases between 2 and 3 seconds: Loom | Free Screen & Video Recording Software | Loom

Best regards

Hi,
are your pages private?
We had this problem with an other customer, and what take a lot of time was the exchange between Weweb server (in US) with the authentication server (Xano in Europe) to check if the user can access the page.
If your page is private, but all your critical data are dynamic fetch to secure endpoint, you can try to disable private page, and see if this improve your loading time?

This is a technical limitation, we are currently brainstorming on it.

If this does not help, can you let me know if what is long is something in the Network or the rendering?

2 Likes

Thank you so much, Aurelie,

That change has drastically improved the issue. Now the server response times are close to 600ms, and the user experience has greatly improved. All my calls are secured on the server, so there’s no security concern. By the way, my server is also in Europe, it could be the same problem.

Thanks again.

By the way, while investigating this issue, I believe I’ve detected something that might pose a minor security concern: when the contents of WeWeb are loaded, the URLs and parameters of the calls from the collections and workflows are visible. In this way, even if the calls are made from the server, there are data like the API KEYS or secrets included in query parameters that are visible. In fact, data from calls that are not directly related to the current screen are even loaded.

In example:

Hi,

You should not put any secret in your workflow. Its not secure. Making the call through server is not intended to be secure, its an option to forward your request through a server in case you have CORS issue (request blocked because of Cross-Domain policy from the API/Backend you’re using).

Its the same for collection. The only way you can secure your keys is if you use static collection, then, the collections will be fetched only on the backend when you publish your website and only the data will be loaded in the page, not the configuration of your collection.

If your API key is a secret, it should be used by a backend not a frontend. The only way to use it securely in WeWeb is through an officially supported plugin like Airtable. But we don’t have any plugin for MongoDB yet.

3 Likes

Understood, Alexis. Thank you very much for the explanation.
Best regards

1 Like