If you get a default tiny VM (the f1 micro) with GCP, their disk IO is just a joke.

 fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 402.00 KB/s (100) | 5.81 MB/s (90)
Write | 423.00 KB/s (105) | 6.14 MB/s (95)
Total | 825.00 KB/s (205) | 11.95 MB/s (185)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 27.45 MB/s (53) | 36.08 MB/s (35)
Write | 29.70 MB/s (58) | 38.66 MB/s (37)
Total | 57.16 MB/s (111) | 74.75 MB/s (72)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed | Ping
----- | ----- | ---- | ---- | ----
Clouvider | London, UK (10G) | 911 Mbits/sec | 1.29 Gbits/sec | 94.7 ms
Scaleway | Paris, FR (10G) | 777 Mbits/sec | 1.19 Gbits/sec | 102 ms
NovoServe | North Holland, NL (40G) | 914 Mbits/sec | 1.21 Gbits/sec | 101 ms
Uztelecom | Tashkent, UZ (10G) | 760 Mbits/sec | 606 Mbits/sec | 191 ms
Clouvider | NYC, NY, US (10G) | 962 Mbits/sec | 4.71 Gbits/sec | 27.4 ms
Clouvider | Dallas, TX, US (10G) | 952 Mbits/sec | 6.10 Gbits/sec | 23.7 ms
Clouvider | Los Angeles, CA, US (10G) | 946 Mbits/sec | 2.69 Gbits/sec | 47.3 ms

As you see the disk throughput is xx MB/s, though the network is pretty good.

After I changed the VM to e2 medium type, the disk IO is still worse.

 fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 403.00 KB/s (100) | 5.82 MB/s (91)
Write | 424.00 KB/s (106) | 6.14 MB/s (95)
Total | 827.00 KB/s (206) | 11.96 MB/s (186)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 27.42 MB/s (53) | 37.69 MB/s (36)
Write | 29.66 MB/s (57) | 40.39 MB/s (39)
Total | 57.09 MB/s (110) | 78.08 MB/s (75)

Here is my terraform configuration.

 terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "3.5.0"
}
}
}

provider "google" {
credentials = file("/home/xxx/terraform/gcp/hostcache.json")

project = "blissful-canyon-xxx"
region = "us-central1"
zone = "us-central1-c"
}

//resource "google_compute_network" "vpc_network" {
// name = "terraform-network"
//}

resource "google_compute_instance" "vm_instance" {
name = "terraform-instance"
machine_type = "e2-medium"

boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}

// scratch_disk {
// interface = "SCSI"
// }

network_interface {
network = "default"
access_config {
// Ephemeral public IP
}
}
}

Sorry for the trial account I can't create local SSD disk in the instance. I may guess local SSD disk has better performance.

Return to home | Generated on 12/14/22