[OTHER] UI much slower when running in Docker than on host #2417
Labels
🖧 Devops
Operations, monitoring, maintenance, deployment, packaging
🖰 GUI
Related to GUI
💥Malfunction
Addresses an identified problem.
🟧 Priority: High
Must be addressed as soon
🔒 Staff only
Can only be assigned to the Taipy R&D team
What would you like to share or ask?
Hi,
I'm currently running a Taipy application inside a Docker container. I've noticed a significant slowdown in UI responsiveness compared to when I run it on the host. I've already looked into the usual suspects such as: running the container as
--privileged
, using a-slim
python base image, resource availability, and container file systems. None of these resolve the issue. This issue has also been reproduced on another machine.On further inspection, it appears the issue lies when Plotly figures (stored as state variables) are updated with new figures. In the first code snippet below, you can see the order of execution. When running on the host, the log message and figure refresh in the UI are nearly simultaneous. Inside a docker container, the figures refresh approximately 5 seconds after the log message.
The long-running-callback is started by a UI on_change callback:
Dockerfile:
pyproject.toml
:Due to confidentiality, I unfortunately cannot share the full source code. However, I hope someone can provide some insight into what occurs in the backend of Taipy when a figure state variable is overwritten by a new figure object.
The dashboard is very responsive and running smoothly up until the point where the new figures are saved to the state variables in (
status_LRCB_update_plots()
). No other LRCB's or functions are running at the same time.Is this a computationally "expensive" operation? Does Docker's network cause the delay here?
Has anyone else experienced something similar?
What happens on the Taipy backend that could cause a slow UI refresh inside a Docker container?
Thanks in advance for any help here!
Code of Conduct
(edited for formatting)
The text was updated successfully, but these errors were encountered: