time ./suspend-test.sh &> output.txt
- COS VM create takes ~10s
- VM delete takes ~2m20s
- resuming a VM takes ~8-10s
- suspending a VM takes ~20-25s
Both operations are faster than create/delete, but create vs resume is pretty close.
==== CREATE / DELETE ==== | |
ERROR: (gcloud.compute.instances.delete) Failed to fetch some instances: | |
- The resource 'projects/my-project/zones/us-east4-a/instances/suspend-test' was not found | |
== create == | |
Created [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS | |
suspend-test us-east4-a n1-standard-1 10.150.0.81 35.245.49.179 RUNNING | |
real 0m9.399s | |
user 0m1.105s | |
sys 0m0.148s | |
== delete == | |
Deleted [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 2m18.469s | |
user 0m0.655s | |
sys 0m0.138s | |
== create == | |
Created [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS | |
suspend-test us-east4-a n1-standard-1 10.150.0.82 34.86.127.112 RUNNING | |
real 0m9.621s | |
user 0m1.133s | |
sys 0m0.157s | |
== delete == | |
Deleted [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 2m17.396s | |
user 0m0.742s | |
sys 0m0.170s | |
== create == | |
Created [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS | |
suspend-test us-east4-a n1-standard-1 10.150.0.83 34.86.3.252 RUNNING | |
real 0m8.401s | |
user 0m1.122s | |
sys 0m0.175s | |
== delete == | |
Deleted [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 2m16.187s | |
user 0m0.634s | |
sys 0m0.142s | |
==== SUSPEND / RESUME ==== | |
Created [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS | |
suspend-test us-east4-a n1-standard-1 10.150.0.84 35.221.50.255 RUNNING | |
== suspend == | |
Suspending instance(s) suspend-test... | |
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done. | |
Updated [https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 3m21.688s | |
user 0m0.690s | |
sys 0m0.171s | |
== resume == | |
Resuming instance(s) suspend-test... | |
..........................................done. | |
Updated [https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 0m10.872s | |
user 0m0.662s | |
sys 0m0.146s | |
== suspend == | |
Suspending instance(s) suspend-test... | |
.......................................................................................................................................done. | |
Updated [https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 0m29.373s | |
user 0m0.662s | |
sys 0m0.144s | |
== resume == | |
Resuming instance(s) suspend-test... | |
...............................done. | |
Updated [https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 0m8.632s | |
user 0m0.611s | |
sys 0m0.129s | |
== suspend == | |
Suspending instance(s) suspend-test... | |
............................................................................................done. | |
Updated [https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 0m20.651s | |
user 0m0.679s | |
sys 0m0.145s | |
== resume == | |
Resuming instance(s) suspend-test... | |
..............................done. | |
Updated [https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-east4-a/instances/suspend-test]. | |
real 0m8.455s | |
user 0m0.695s | |
sys 0m0.151s | |
Deleted [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east4-a/instances/suspend-test]. |
#!/usr/bin/env bash | |
set -e | |
N=3 | |
NAME=suspend-test | |
ZONE=us-east4-a | |
echo "==== CREATE / DELETE ====" | |
gcloud compute instances delete $NAME --zone=$ZONE --quiet --delete-disks=all || true # ignore failures | |
for i in $(seq 1 $N); do | |
echo " == create ==" | |
time gcloud compute instances create-with-container $NAME --container-image=nginx --zone=$ZONE | |
echo " == delete ==" | |
time gcloud compute instances delete $NAME --zone=$ZONE --quiet --delete-disks=all | |
done | |
echo "==== SUSPEND / RESUME ====" | |
gcloud compute instances create-with-container $NAME --container-image=nginx --zone=$ZONE || true # ignore failure | |
for i in $(seq 1 $N); do | |
echo " == suspend ==" | |
time gcloud beta compute instances suspend $NAME --zone=$ZONE | |
echo " == resume ==" | |
time gcloud beta compute instances resume $NAME --zone=$ZONE | |
done | |
gcloud compute instances delete $NAME --zone=$ZONE --quiet --delete-disks=all |