Halaman ini memberikan panduan tentang cara mengonfigurasi lingkungan Google Cloud Managed Lustre untuk mendapatkan performa terbaik.
Spesifikasi performa
Jumlah performa berikut adalah nilai maksimum perkiraan.
IOPS
IOPS maksimum diskalakan secara linear per TiB kapasitas instance yang disediakan.
| Tingkat Throughput | IOPS Baca (per TiB) | IOPS Tulis (per TiB) |
|---|---|---|
125 MBps per TiB |
725 | 700 |
250 MBps per TiB |
1.450 | 1.400 |
500 MBps per TiB |
2.900 | 2.800 |
1000 MBps per TiB |
5.800 | 5.600 |
Operasi metadata
Peningkatan operasi metadata maksimum dalam langkah-langkah per throughput yang disediakan sebesar 72 GBps.
| Statistik file | Pembuatan file | Penghapusan file | |
|---|---|---|---|
| Per 72 GBps | 410.000 per detik | 115.000 per detik | 95.000 per detik |
Performa setelah meningkatkan kapasitas
Meningkatkan kapasitas penyimpanan instance yang ada akan meningkatkan throughput dan IOPS maksimumnya, serta kemungkinan performa metadatanya.
Performa throughput baca akan meningkat secara bertahap saat data baru ditulis dan didistribusikan ulang di seluruh penyimpanan tambahan. Performa throughput penulisan akan meningkat dengan segera.
Unit transmisi maksimum (MTU) jaringan VPC
Saat membuat jaringan VPC, menyetel nilai mtu
(unit transmisi maksimum, atau ukuran paket IP terbesar yang dapat
ditransmisikan di jaringan ini) ke nilai maksimum yang diizinkan, yaitu 8896, akan meningkatkan
performa hingga 10% dibandingkan dengan nilai default 1460 byte.
Anda dapat melihat nilai MTU jaringan saat ini dengan perintah berikut:
gcloud compute networks describe NETWORK_NAME --format="value(mtu)"
Nilai MTU jaringan dapat diperbarui setelah jaringan dibuat, tetapi ada pertimbangan penting. Lihat Mengubah MTU jaringan untuk mengetahui detailnya.
Jenis mesin Compute Engine
Throughput jaringan dapat dipengaruhi oleh pilihan jenis mesin Anda. Secara umum, untuk mendapatkan throughput terbaik:
- Menambah jumlah vCPU. Bandwidth traffic keluar maksimum per instance umumnya adalah 2 Gbps per vCPU, hingga maksimum jenis mesin.
- Pilih seri mesin yang mendukung batas masuk dan keluar yang lebih tinggi. Misalnya, instance C2 dengan jaringan Tier_1 mendukung bandwidth traffic keluar hingga 100 Gbps. Instance C3 dengan jaringan Tier_1 mendukung hingga 200 Gbps.
- Aktifkan performa jaringan per VM Tier_1 dengan jenis mesin yang lebih besar.
- Gunakan NIC Virtual Google (gVNIC). gVNIC adalah satu-satunya opsi untuk jenis mesin Generasi 3 dan yang lebih baru. gVNIC diperlukan saat menggunakan jaringan Tier_1.
Untuk mengetahui informasi mendetail, lihat Bandwidth jaringan.
Konfigurasi multi-NIC
Dengan menggunakan kemampuan multi-rail bawaan Lustre, klien dapat membagi-bagi traffic jaringan di beberapa kartu antarmuka jaringan (multi-NIC). Hal ini menggabungkan bandwidth untuk memenuhi kapasitas instance Managed Lustre yang tinggi.
Untuk mengonfigurasi multi-NIC, Anda harus:
- Pilih jenis mesin dengan beberapa NIC fisik.
- Buat subnet untuk setiap NIC dan tetapkan setiap NIC ke subnetnya.
- Ikuti langkah-langkah multi-NIC saat menghubungkan dari Compute Engine atau GKE.
Memverifikasi penyeimbangan traffic
Setelah mengonfigurasi multi-NIC, pastikan data diseimbangkan dengan benar.
Compute Engine
Verifikasi penyeimbangan data langsung di VM dengan memantau antarmuka jaringan yang dikonfigurasi (misalnya, eth0 dan eth1) menggunakan nload saat membuat traffic ke backend Managed Lustre:
nload -m eth0 eth1
Dalam konfigurasi multi-NIC yang berhasil, bitrate keluar harus kira-kira setara di semua antarmuka yang dikonfigurasi.
GKE
Pastikan traffic jaringan dari workload Anda diseimbangkan di beberapa NIC dengan men-deploy Pod network-debugger sementara ke node tempat workload Anda dijadwalkan:
Identifikasi node tempat workload Anda dijadwalkan:
kubectl get pod POD_NAME -o wideGanti POD_NAME dengan nama Pod Anda. Di output perintah, catat nama di kolom
NODE.Luncurkan debugger jaringan di node tersebut:
kubectl run multi-nic-debug --rm -i --tty --image=nicolaka/netshoot \ --overrides='{"spec": {"hostNetwork": true, "nodeSelector": {"kubernetes.io/hostname": "NODE_NAME"}, "tolerations": [{"key": "nvidia.com/gpu", "operator": "Exists", "effect": "NoSchedule"}]}}' \ -- /bin/bash -c "apk update && apk add nload && nload -m eth0 eth1"Ganti NODE_NAME dengan nama node dari langkah sebelumnya.
Pada output, analisis bitrate kolom Keluar untuk
eth0daneth1. Jika konfigurasi berhasil, bitrate akan hampir sama. Outputnya mirip dengan hal berikut ini:Device eth0 [10.1.0.50] (1/2): ========================================================================== Incoming: Outgoing: Curr: 1.63 MBit/s Curr: 1.46 GBit/s Avg: 1.60 MBit/s Avg: 1.44 GBit/s Min: 1.40 MBit/s Min: 1.25 GBit/s Max: 1.64 MBit/s Max: 1.47 GBit/s Ttl: 590.94 GByte Ttl: 405.19 GByte Device eth1 [172.16.15.5] (2/2): ========================================================================== Incoming: Outgoing: Curr: 1.64 MBit/s Curr: 1.47 GBit/s Avg: 1.62 MBit/s Avg: 1.44 GBit/s Min: 1.42 MBit/s Min: 1.26 GBit/s Max: 1.66 MBit/s Max: 1.47 GBit/s Ttl: 587.68 GByte Ttl: 406.36 GByteKeluar dari debugger dengan menekan Ctrl+C.
Mengukur performa klien tunggal
Untuk menguji performa baca dan tulis dari satu klien Compute Engine, gunakan alat command line fio (Penguji I/O fleksibel).
Instal fio:
Rocky 8
sudo dnf install fio -yUbuntu 20.04 dan 22.04
sudo apt update sudo install fioJalankan perintah berikut:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/lustre --buffer_compress_percentage=50 \ --name=read --blocksize=1m --iodepth=64 --readwrite=read
Tes ini memerlukan waktu sekitar 5 menit untuk diselesaikan. Setelah selesai, hasilnya akan ditampilkan. Bergantung pada konfigurasi Anda, Anda dapat mengharapkan throughput hingga kecepatan jaringan maksimum VM, dan ribuan IOPS per TiB.