How many fields are in the table you are creating rows? Are there lots of the more complicated field types like lookup , formula and link row fields?
Additionally could you install a process monitoring tool like htop on your machine and see how much utilization is occurring whilst you are inserting rows / provide a screenshot perhaps privately via PM?
Just saw you mentioned Large files in the title, are you uploading lots of files with each row? Also it might be useful to know the specific endpoint you are using to create rows with. Is it also slow when you create rows manually using the GUI?
Your data doesn’t look unreasonable at all, feel free to remove the link. We recently merged onto our develop branch a profiling tool that can be enabled in dev mode called django-silk. This might be useful to figure out what is causing the slowdown. Are you comfortable with temporally switching your Baserow onto the develop branch + in dev mode to debug this? If so I’ll post some instructions on how to do this tomorrow morning!
We don’t yet have official technical requirements.
Here is a quick and dirty guide on how to enable the profiling for your Baserow environment. I’ve not tested this thoroughly and so whilst it should be safe, please only do this if you are OK with potentially breaking your Baserow environment and/or data loss.
$ sudo -i
$ cd /baserow
$ source env/bin/activate
$ pip3 install django-silk==4.2.0
# Ensure you copy and paste and run this entire command including the final EOT all in one go.
$ cat <<EOT >> /baserow/baserow/backend/src/baserow/config/settings/base.py
# Delete these following lines to disable the silk profiling program once done
INSTALLED_APPS += ["silk"] # noqa: F405
MIDDLEWARE += [ # noqa: F405
"silk.middleware.SilkyMiddleware",
]
SILKY_ANALYZE_QUERIES = True
DEBUG = True
EOT
$ cat <<EOT >> /baserow/baserow/backend/src/baserow/config/urls.py
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += [re_path("^silk/", include("silk.urls", namespace="silk"))]
urlpatterns += staticfiles_urlpatterns()
EOT
$ export DJANGO_SETTINGS_MODULE='baserow.config.settings.base'
$ export DATABASE_PASSWORD='yourpassword'
$ export DATABASE_HOST='localhost'
$ export REDIS_HOST='localhost'
$ baserow migrate
$ supervisorctl restart all
Now you should be able to visit http://localhost:8000/silk/ and see a dashboard of per request performance. If you are accessing your Baserow server remotely then you’ll need to change http://localhost:8000 to whatever you’ve set the PUBLIC_BACKEND_URL to be.
Once you can see the /silk/ page. Try make the requests you find to be slow and then visit that page and you should see the slowest requests. Could you then send screenshots of the slowest requests and importantly the SQL sub page showing each query and how long it took?
Heres a gif showing this:
Once we are done profiling your Baserow later you can revert the changes above by running
File "/baserow/baserow/backend/src/baserow/config/urls.py", line 24, in <module>
urlpatterns += [path("silk/", include("silk.urls", namespace="silk"))]
NameError: name 'path' is not defined