-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: App running on Docker is very slow in development mode #13690
Comments
Hi @PaulMcF1987 ! Do you perhaps have a lot of data being loaded into the application? You can limit the data your queries return and paginate them with a table to make your apps performant |
Hi @Nikhil-Nandagopal I have also asked this question on the AppSmith Community page. https://community.appsmith.com/t/very-slow-in-edit-and-deployment-mode/954 That is my question on the community page which gives a bit more info |
@PaulMcF1987 can you share the application with us by inviting support@appsmith.com to your application? We'd like to debug what is not working here |
@Nikhil-Nandagopal I have sent the invite and set you as Administrator |
@PaulMcF1987 can you also share the link to the app? |
@Nikhil-Nandagopal that appears to be another problem I have, I have set up the SMTP credentials but it is not sending emails. If I press the test button, it works fine and sends a test email, however if I click the "forgotten password" link for example, nothing happens |
@PaulMcF1987 that is ok, you can just share the link here and I can signup with the support email you invited |
@Nikhil-Nandagopal Id rather not share domain details on here. I think I have sorted the SMTP Credentials,hopefully you should receive an invite? |
@Nikhil-Nandagopal did you receive the invite? |
@PaulMcF1987 yes I got it. Do you mind sharing a video of where you see the slowness? |
https://share.vidyard.com/watch/xxf1XgXD9f76UcYt4qCcsb? You will see from the video that most tabs load quickly, however the Job Record tab takes a while, Also, when I clicked on the row to open the modal, the modal opened and was blank, I had to close the modal and reopen for it to wrok |
@PaulMcF1987 thanks! @SatishGandham from our team is looking into this |
Thanks @Nikhil-Nandagopal @SatishGandham |
@PaulMcF1987 in the recording you shared, the table row was already selected so it became deselected when you clicked on it. This caused the modal to become blank. You can solve this by creating a custom button to open the modal and binding the modal contents to Table1.triggeredRow |
Hi @Nikhil-Nandagopal thank you for your reply. However that is issue is quite low on the list compared with the rest. The main issue is how long it takes for the table to show in the first place. Then when I click the row, a blank modal opens, I need to close the modal and reopen to populate. In the video, the modal was populated on the first reopen attempt however in reality it can take 3-4 attempts. |
@Nikhil-Nandagopal @SatishGandham Any ideas as to what could be causing the issues? |
@Nikhil-Nandagopal @SatishGandham https://share.vidyard.com/watch/AqqxvSKNEP1vveSBqtcFXc? Another video... In reply to the above, you will notice in the video that I selected the second row which was not pre-selected and still when the modal opened it was not populated. https://share.vidyard.com/watch/RQLtpBwf96rQ6qBstYrjM2? In this video I ran the app outwith editor mode. The only thing I can think of is the number of Queries and JS I have on that particular tab, however there are only 18 JS scripts and 6 Queries which isnt that much |
In the second video you ran the app in preview mode, it is just edit mode with the property pane and entry explorer hidden, this is different from the view mode your end-users will use. View mode is taking 5.5 seconds to load. We are continuously working on making Appsmith faster, and I believe we can shave up to 2 seconds of the current 5.5 seconds in view mode, I don't have an ETA for this improvement though. In Edit mode it takes 8 seconds for the page to load, we have some improvements coming in the next couple of releases that will make it faster by 3 seconds. Regarding modal, when you click the row a second time, it is getting unselected, so on row change is not getting triggered. You should set the default selected row on the table to empty and reset the table on modal close action (How to reset a widegt ) |
@SatishGandham I would understand if the issue was persistent on all pages but but it is not. So I am still left in the same position... wondering what it is about the data on this page that is causing the issue. Have you looked at my Queries or my JS to see if the formatting might be causing an issue? |
@PaulMcF1987 Can you tell me the page that is slow and the one that is fast. |
@SatishGandham You should see from that video that all pages loaded quicker than the If you click on the invoicing tab, it loads very quick because it is using the default data with no queries. It seems to be the queries that is slowing things down You should have access to log in and test? |
@PaulMcF1987 , We generate a data tree of all the widgets you have on the page on load, and update it when something changes. The time it takes is proportional to the number of widgets, in your case it is taking 3000ms. This is the reason it is slower compared to the rest of the pages. |
@SatishGandham is there any way to speed this up? Everything seems to load on page load, however, not everything is needed to load then. For example, on page load, all that neds to load is the table. I have used other app builders such as Budibase and corteza and the speed of the app seems to have no bearing on the number of widgets. The majority of the widgets on the page are input widgets for editing or creating an entry. My app is pretty basic. If someone wanted to produce a more complex app with more widgets, if what you are saying is true then Appsmith would essentially be useless? |
@SatishGandham is there any way to speed this up? Everything seems to load on page load, however, not everything is needed to load then. For example, on page load, all that neds to load is the table. I have used other app builders such as Budibase and corteza and the speed of the app seems to have no bearing on the number of widgets. The majority of the widgets on the page are inout widgets for editing or creating an entry. |
@PaulMcF1987 , I'm sorry there is nothing you can do from your side expect design your app in a way that a single page doesn't have so many widgets. We are working on building the dataTree faster, but we don't have an ETA on it yet. |
To test out what you said above, I cloned the page and removed the widgets, leaving only the table... The video below shows me going between the 2 tabs. https://share.vidyard.com/watch/EhcKY7WArqsmVSWpobEZ8s? The other video below shows a comparison of the job copy table with as mentioned only the table widget and another page with more widgets but less queries and JS scripts and despite having less widgets is still considerably slower |
@SatishGandham @Nikhil-Nandagopal Rather than using a modal is there any way to create a form on a different page that populates with data from the selected table row? |
@PaulMcF1987 yes, you can pass the selected rows id to the page that has the form and have the form fetch the data of the row id in the query param as {{appsmith.URL.queryParams.id}} |
@Nikhil-Nandagopal How do i use this? I have created 3 new pages... If I go to the edit page and decide not to edit the document, is it possible to then navigate back to the view page and have the same details there that where displayed before I navigated away? |
@PaulMcF1987 you should pass the id of the data that you want to populate so that you can query that data using the id and pass it to all the widgets |
@PaulMcF1987 , we have shipped the evaluations related optimization in the first week of Jan 23. Can you please verify if it solved your performance problems. |
Is there an existing issue for this?
Description
I am running this app on Docker.
I am finding that it is running very slow in development mode, I tried deploying the app and it runs slightly quicker but is still extremely slow, it can take up to 1 minute for the selected page to load.
Also, when I click on a table row, I have it set to open a Modal. Again, the modal can take up to 1 minute to open and when it does, often it is blank. I need to close the modal, refresh the page and then open it again. I have found on occasions that I need to do this more than once in order for it to work.
I am using a Docker hosted MYSQL Database. I tried to connect it to my local hosted database but was unable to establish a connection.
I have used docker hosted SQL databases with other Images/containers and never had a problem So I doubt that the SQL Database is the issue, I have tested the database with HeidiSQL and it is very responsive.
Steps To Reproduce
My YML File
version: "3"
services:
appsmith:
image: index.docker.io/appsmith/appsmith-ce
container_name: appsmith
ports:
volumes:
labels:
com.centurylinklabs.watchtower.enable: "true"
restart: unless-stopped
auto_update:
image: containrrr/watchtower:latest-dev
volumes:
Update check interval in seconds.
command: --schedule "0 0 * ? * *" --label-enable --cleanup
restart: unless-stopped
Public Sample App
No response
Version
Self Hosted
The text was updated successfully, but these errors were encountered: