enable primarycache on datasets in ramdisk pool
bcantrill opened this issue · 0 comments
bcantrill commented
In #69, the ARC was disabled for datasets in the ramdisk. While the sentiment behind this is sensible, the fact that these datasets also have gzip-9
enabled means that the performance effect is acute. Turning this back on has a substantial impact on zone install time; on a bench Gimlet:
tincup # ptime zoneadm -z testzone install
INFO: omicron: installing zone testzone @ "/zones/testzone"...
INFO: omicron: replicating /usr tree...
INFO: omicron: replicating /lib tree...
INFO: omicron: replicating /sbin tree...
INFO: omicron: pruning SMF manifests...
INFO: omicron: pruning global-only files...
INFO: omicron: unpacking baseline archive...
INFO: omicron: copying /etc/default/init...
INFO: omicron: install complete, probably!
real 15.605642594
user 0.443209932
sys 5.972210201
tincup # zfs get primarycache rpool
NAME PROPERTY VALUE SOURCE
rpool primarycache none local
tincup # zfs set primarycache=all rpool
tincup # zoneadm -z testzone uninstall
Are you sure you want to uninstall zone testzone (y/[n])? y
INFO: omicron: uninstalling zone testzone...
tincup # ptime zoneadm -z testzone install
INFO: omicron: installing zone testzone @ "/zones/testzone"...
INFO: omicron: replicating /usr tree...
INFO: omicron: replicating /lib tree...
INFO: omicron: replicating /sbin tree...
INFO: omicron: pruning SMF manifests...
INFO: omicron: pruning global-only files...
INFO: omicron: unpacking baseline archive...
INFO: omicron: copying /etc/default/init...
INFO: omicron: install complete, probably!
real 2.924403504
user 0.297828167
sys 1.621089043
Unsurprisingly, this is even faster when repeated:
tincup # zoneadm -z testzone uninstall
Are you sure you want to uninstall zone testzone (y/[n])? y
INFO: omicron: uninstalling zone testzone...
tincup # ptime zoneadm -z testzone install
INFO: omicron: installing zone testzone @ "/zones/testzone"...
INFO: omicron: replicating /usr tree...
INFO: omicron: replicating /lib tree...
INFO: omicron: replicating /sbin tree...
INFO: omicron: pruning SMF manifests...
INFO: omicron: pruning global-only files...
INFO: omicron: unpacking baseline archive...
INFO: omicron: copying /etc/default/init...
INFO: omicron: install complete, probably!
real 1.643341227
user 0.272266618
sys 1.155153452
We should enable the ARC for these datasets -- and we should further very much still do the work described in oxidecomputer/helios-omicron-brand#12 as that will make it even faster still.