My team is in the process of migrating our CI/CD pipelines to using Dagger.
When running integration tests, we use the as_service method to spin-up the required services (i.e. mongo, minio, etc). The CI/CD also runs on self-hosted EC2 runners (within a Github action) with quite a bit of resources.
When comparing run durations of some of our tests against the old way (spinning up the services using docker compose), it appears that our execution times are taking significantly longer (i.e. an action that takes ~10 seconds seconds with docker compose method takes ~60 seconds with the as_service method.
Are there tunable parameters to ensure that the dagger container has access to the relevant resources from the EC2 instance (is it using the appropriate cores + memory)? Wondering if there are any steps I can take to help traige the performance issues I am having?
I previously submitted this: https://discord.com/channels/707636530424053791/1413316800950567072 in order to tease out some of these issues. One of the tools we use is Ray which prefers the /dev/shm size to be large enough otherwise there could be performance issues. I have used the recommended actions in that thread and it appears to not complain about /dev/shm anymore (not sure if the cache volume mounting would fix the performance related issues though).
I am using the Python SDK as an FYI (0.18.16 is the dagger engine version).