-
Notifications
You must be signed in to change notification settings - Fork 53
any more ideas for optimizing the Vlad build time? #307
Comments
Ruby: Let's not worry too much about optimising a role that we're considering removing (#295). Drush: Jeff Geerling's Drush role has evolved slightly since the current Vlad role was originally based on it. Since then I notice that it now includes the following which we may want to consider folding in to improve install performance?
|
@danbohea The It looks like the Drush documentation is back to recommending a direct packaged download rather than a Composer-based build to install. Do you think it would make sense for VLAD and/or Jeff Geerling's Drush role to move in that direction? I think that a 4+ minute build process is enough of a reason to at least consider a direct packaged download. |
Gaaagh! You're right. I forgot that it's the choice that Vlad's role is lacking, not the Composer options themselves.
So this looks like a recommendation for the global installation of Drush whereas Drupal 8 sites can still list a local version as a dep to be built via Composer if required.
I think that this is worth exploring and would be interested to see what time savings it introduces when provisioning. This may well be a good argument for abstracting Vlad's drush role to be a proper Galaxy role now. We need to double check for any overlap between the final recommended installation step |
Update: I'm working on improving the drush role to support packaged downloads where possible. So far so good, I'll update this thread when the relevant code is pushed. |
OK, there's now a new This all ended up being more complex than first thought, hence the new branch. I'd really appreciate some further testing here if anyone's willing. So far I've only tested on Ubuntu 14 with various different values for In short though, you'll see a noticeable provisioning speed increase when setting From drush/defaults/main.yml:
|
As an aside here, it just occurred to me that an option for speeding up provisions past the first one would be to add vagrant-cachier to the required/auto-installed plugins list rather than the "use if you have it" list. Or at least warning people that they should install it? Unless you read the Vagrantfile, it's not obvious the functionality is supported or you may not be aware the plugin exists... |
I thought this was mentioned in the docs but you're right, it's not really clear enough. I'll at least get something sorted in the docs ASAP. |
OK, I've now added mention of vagrant-cachier and other plugins to the Installation page of the docs (still just in dev for now). I'm sure this was covered at one stage but hey ho :) |
Right, back to focussing on the drush branch. Please test and feedback! :) |
I've done a bunch more testing on the #314 can be sidestepped by preventing the drupal_console role from running. I then tested Ubuntu 12 with PHP 5.3 & 5.4. The only issue here is if you try to install Drush 8 with PHP 5.3 - that's understandable as Drush 8 requires PHP >= 5.4, I'm happy to let this through but may revisit the code to possibly check the PHP version first and fail with a more helpful error if need be (though I'm keen to not rely on Vlad's #315 makes testing on CentOS impossible right now and that's the only blocker to merging the |
Now that #317 has been merged I have now successfully tested the changes to the drush role on CentOS (albeit 6.7 rather than 6.6). I'm going to merge the |
Drush role changes are now in |
@danbohea, Thanks for that drush install tweak! Taking advantage of the newly added
|
Good times :) So 4 of those will be long gone when we ditch the ruby & mailcatcher roles for mailhog (hopefully we won't introduce any new slow tasks as a result). That in effect leaves the following tasks with no planned optimisation at present:
|
I find this result curious, especially as it's not reliant on internet connection speed:
I generally have |
I've just noticed that the times in your first set of results aren't quite as severe. |
I think the |
Incidentally, in case anyone else is interested, I wrote a quick PHP script for tracking down long running tasks via the ansible.log file. |
I've been looking into ways to optimize the VLAD build time. So far, I've opened a couple of pull requests for enhancements that have helped me (one in ansible-role-solr and one in VLAD itself).
I just ran a couple builds from scratch with all the optional roles enabled. I then calculated a list of any tasks that took over one minute and came up with results below.
Anyone have other ideas that might help speed up any of these longer running tasks?
Personally, I'm especially interested in speeding up the
install Ruby...
and/orInstall Drush dependencies...
tasks, since those are longer running ones that I regularly use.The text was updated successfully, but these errors were encountered: