-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Meteor and Docker performance tweaks #4992
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
Conversation
|
@kieckhafer I'm interested to know whether you see any improvement with these changes. |
And time the command Signed-off-by: Eric Dobbertin <[email protected]>
Signed-off-by: Eric Dobbertin <[email protected]>
Signed-off-by: Eric Dobbertin <[email protected]>
Signed-off-by: Eric Dobbertin <[email protected]>
37662d8 to
fb404b3
Compare
|
@aldeed Startup time is a slight improvement, but reload time after a change is a HUGE improvement. @mikemurray check this out, see how it works for you. Initial startup time After making a change One odd thing, not sure if this has to do with the caching or not. After a change, I am able to reload the page right away, which is nice, as in the past if you try that it just spins forever while the app is restarting. However, if you reload immediately, you don't see the changes. If you wait about 20 seconds to reload, then you do see the changes. |
|
Can we make this support debugging? Maybe add these to package.json scripts? I was working on getting this reaction-cli PR released but this would make that obsolete. |
|
CC: @loan-laux Heads up FYI. This might provide an alternative way to get debugging working. I might test my proposed changes to this setup locally and see if that works. |
ticean
left a comment
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.
You had me at "Removed CLI dependency"!
kieckhafer
left a comment
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.
Only improvements on my end, no new errors. Approving, but will leave open for others to test out too.
Signed-off-by: Peter Lyons <[email protected]>
|
@aldeed What do you think about these changes to support debugging |
|
@aldeed Did you try
|
|
@focusaurus re:
Delegated sematics section reads:
Doesn't that mean that developers could lose changes to the Quicklink to docs: https://docs.docker.com/docker-for-mac/osxfs-caching/ |
|
I see. I thought it was just "delays" not losing changes. Do we want a |
|
@focusaurus Got it. Would definitely be nice having debugging on here. Really excited about these perf improvements βΒ nice job! |
|
@kieckhafer @aldeed Here are my results. Seems to shave off 1-2 mins Initial startup time This PR: ~5m57s Stop 'n start Reaction container This PR: ~2m42s After making a change |
|
@ticean oops! i didn't mean to re-request a review from you. clicked that mysterious button on accident!! |
|
@focusaurus I pulled in the debugging changes from your branch. Thanks!
|
|
Also based on my reading I think these control both whether delays are OK and which is the source of truth when updates conflict. The host is SOT for cached and the container is SOT for delegated. Otherwise in normal mode they jump through hoops to ensure there can never be a conflicting view, which is why it leads to poor performance on Mac. |
Signed-off-by: Eric Dobbertin <[email protected]>
Signed-off-by: Eric Dobbertin <[email protected]>
|
Using |
Impact: minor
Type: feature
Changes
.reaction/run. I added logging showing how long each step takes.docker-compose.yml, addedno-auditflag on themeteor npm installcommand to speed that up a little. It's now consistently around 20 seconds for me when it doesn't need to install anything.docker-compose.yml, added:cachedfor the volume that links the host files in, which should help with file watching/syncing a bit. See https://docs.docker.com/compose/compose-file/#caching-options-for-volume-mounts-docker-desktop-for-mac and https://docs.docker.com/docker-for-mac/osxfs-caching/--no-release-checkand--no-lintflags for themeteor runcommand. Added--no-release-checkfor themeteor testcommands. Not sure I see much of a difference from this on my machine but I don't think it hurts.Breaking changes
I removed the code that parsed a
settings.jsonfile and passed it in as the Meteor--settingsflag. Not sure if this is still something we use or support? It could be added back but would mean porting some additional code from the CLI.Testing
Verify the app starts up and runs. Ideally starts and/or restarts faster now.