-
-
Notifications
You must be signed in to change notification settings - Fork 580
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
Use caching filesystem to improve webserving performance #1277
Conversation
This approach (with the fork from @cweagans at https://github.com/rfay/docker-bg-sync/tree/20181117_use_arbitrary_user) makes the webserver behavior really, really snappy. On macOS twice as fast. On Windows much more than that. But it's probably unworkable because the startup time is outrageous. On macOS it takes unison more than 2 minutes to rummage through a base Drupal 8 site, and until it's through with the startup, behavior isn't predictable in either direction. On Windows, it can easily take 30 minutes to rummage through a D8 site before it's really ready. Color me sad. |
I tried to get startup time statistics, but the initial
Docker version:
Win10Pro 1803 |
I saw that once as well. Not sure what is the problem there. Thanks for looking at it. |
94d2f65
to
71db15b
Compare
e46c90a
to
dfa619d
Compare
Upgrading an existing project to use the sync container looks good to me so far, but I'm running into issues with a fresh project installation using Composer on MacOS 10.14.
...followed by a more-or-less empty project directory:
|
2361481
to
cea6e9e
Compare
@andrewfrench I made a small change to the ddev composer create code to do the move on the docker volume if running webcache, so this works for me with the trivial composer examples in the test. (And that test now passes). However, I think we should meet about the future of this PR today, see if we think it has life. It adds complexity everywhere it touches. As in the fix for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The recent updates to this re: ddev composer create
seem to be working well, and I have no problem releasing this "experimentally" as we discussed to let interested users try this out and let us know if the speed improvements are worth the added complexity. The test improvements (when complete) will definitely be helpful.
abd410b
to
2dfca3a
Compare
… which will get settings.ddev.php
53a5f9e
to
4d2b38a
Compare
The Problem/Issue/Bug:
ddev webserving behavior is slower than we'd like on macOS and Windows because we're serving from a docker bind-mount, and on those platforms it's not as good as it ought to be. Linux is fine.
How this PR Solves The Problem:
Use a fork of cweagans/bg-sync to sync between the bind-mounted filesystem and a much faster docker native volume. bgsync uses a container with unison running on it.
This is experimental and currently tested only on macOS, as there are filesystem problems on Windows.
Manual Testing Instructions:
docker pull drud/ddev-bgsync:20181117_bgsync
webcache_enabled: true
ddev start
. Do things. Verify behavior. See how fast it is. Try to figure out how to make it unreliable.Automated Testing Overview:
Related Issue Link(s):
Release/Deployment notes: