test-install: Run installer under eatmydata.

This is a tool that throws away `fsync` calls and other requests for
the system to sync files to disk.  It may make the install faster; for
example, if it has to install a number of system packages, `dpkg` is
known to make a lot of `fsync` calls which slow things down
significantly.  Conversely, if there's a power failure in the middle
of running a test install, we really don't mind if the test install's
data becomes corrupt.
This commit is contained in:
Greg Price 2018-01-22 16:33:56 -08:00
parent eb25928674
commit 6e7ae9a239
2 changed files with 2 additions and 4 deletions

View File

@ -71,9 +71,7 @@ if [ -z "ok" ]; then
exit 1
fi
run /tmp/src/zulip-server/scripts/setup/install --snakeoil-cert "${INSTALLER_ARGS[@]}"
run eatmydata -- /tmp/src/zulip-server/scripts/setup/install --snakeoil-cert "${INSTALLER_ARGS[@]}"
# TODO install ends as a zombie (workaround: `sudo ps aux | grep lxc-attach`, kill that)
# TODO settings.py, initialize-database, create realm
# TODO eatmydata, for speed

View File

@ -37,7 +37,7 @@ run apt-get update
# As an optimization, we install a bunch of packages the installer
# would install for itself.
run apt-get install -y --no-install-recommends \
xvfb parallel netcat unzip zip jq python3-pip wget curl realpath \
xvfb parallel netcat unzip zip jq python3-pip wget curl realpath eatmydata \
git crudini openssl ssl-cert \
build-essential python3-dev \
closure-compiler memcached rabbitmq-server redis-server \