Docker for mac vs. Kirby

Wanted to share an issue I had with local development on a large K3 site.

I’m running a pretty vanilla php-apache image with docker-compose. After importing 700 child pages under the same parent, I noticed page sections and pages fields in the panel became unbearably slow – 30 seconds to render the pages list, even with image thumbnails turned off.

Moved the site to a live server and found the same panel api call only took about 3 seconds instead of 30. So there clearly was something wrong with my local setup.

After some searching I found out there is some translation overhead reading from the local file system with Docker for mac, which can severely impact performance. After adding :cached to the volume mount declaration in docker-compose.yml, the api call was down to about 7 seconds.

I just found out about this and haven’t tested this change thoroughly. If I find there are other problems with the cached directive, I’ll post an update.