Untuk meningkatkan performa instans, Alibaba Cloud mengaktifkan hyper-threading secara default pada sebagian besar tipe instans. Fitur ini membagi setiap core fisik menjadi dua core logis. Namun, untuk beban kerja yang intensif memori atau yang memerlukan performa single-core tinggi, menonaktifkan hyper-threading dapat meningkatkan performa dan mengurangi biaya lisensi perangkat lunak.
Kasus Penggunaan
Secara default, Alibaba Cloud mengaktifkan hyper-threading pada sebagian besar tipe instans untuk meningkatkan performa multi-threaded. Namun, pada beberapa beban kerja tertentu, menonaktifkan hyper-threading dapat meningkatkan performa keseluruhan atau membantu mengoptimalkan biaya. Berikut adalah skenario umum di mana Anda mungkin mempertimbangkan untuk menonaktifkan hyper-threading.
Tingkatkan performa untuk beban kerja intensif memori
Untuk beban kerja intensif memori, seperti layanan caching, Anda mungkin tidak memerlukan jumlah thread konkuren yang tinggi. Dalam kasus ini, Anda dapat menonaktifkan hyper-threading untuk mengoptimalkan rasio komputasi terhadap memori dan meningkatkan performa layanan.
Tingkatkan performa untuk beban kerja single-core tinggi
Untuk beban kerja yang memerlukan performa single-core tinggi, menonaktifkan hyper-threading dapat mengurangi overhead akibat kontensi thread dan context switching.
Kurangi biaya lisensi perangkat lunak
Mengurangi jumlah core CPU aktif atau menonaktifkan hyper-threading untuk menurunkan jumlah core fisik atau logis secara efektif mengurangi biaya lisensi perangkat lunak.
Penagihan
Mengubah opsi CPU hanya memengaruhi jumlah core yang diaktifkan atau pengaturan hyper-threading, bukan jumlah total vCPU yang ditentukan oleh tipe instans. Oleh karena itu, biaya untuk tipe instans tetap sama.
Batasan
Untuk beberapa keluarga instans, Anda hanya dapat mengonfigurasi opsi CPU melalui API, CLI, atau SDK.
Hanya beberapa tipe instans yang mendukung opsi CPU untuk menyesuaikan jumlah core CPU yang diaktifkan dan pengaturan hyper-threading. Nilai parameter yang didukung bervariasi tergantung pada tipe instans.
CatatanKlik tautan keluarga instans di bawah ini untuk melihat nilai yang didukung untuk jumlah core fisik dan jumlah thread per core pada setiap tipe instans.
Prosedur
Anda dapat menentukan opsi CPU saat membuat instans atau mengubahnya pada instans yang sudah ada.
Konfigurasikan opsi CPU saat pembuatan instans
Anda dapat menyesuaikan jumlah core CPU yang diaktifkan dan pengaturan hyper-threading saat membuat instans. Prosedurnya sebagai berikut:
Konsol
Saat Anda membuat instans menggunakan opsi Custom Launch, Anda dapat menentukan jumlah core fisik yang diaktifkan dan mengonfigurasi hyper-threading di bagian Advanced Settings > CPU Options.
|
|
API
Saat Anda memanggil operasi API RunInstances untuk membuat dan menjalankan instans, Anda dapat menentukan jumlah core fisik yang diaktifkan dan mengonfigurasi hyper-threading dengan menggunakan parameter berikut:
Parameter | Jenis | Deskripsi |
CpuOptions.Core | integer | Jumlah core fisik yang diaktifkan. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan. |
CpuOptions.ThreadsPerCore | integer | Jumlah thread per core. Nilai 1 menonaktifkan hyper-threading. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan. |
CLI
Anda dapat menentukan jumlah core (CpuOptions.Core) dan konfigurasi hyper-threading (CpuOptions.ThreadsPerCore) saat menggunakan CLI untuk memanggil operasi RunInstances guna membuat dan menjalankan instans. Berikut contoh perintahnya:
Perintah ini: Membuat instans ecs.g7.8xlarge (yang memiliki 16 core CPU fisik), mengonfigurasinya untuk menggunakan 10 core fisik (CpuOptions.Core=10) dan menonaktifkan hyper-threading (CpuOptions.ThreadsPerCore=1).
aliyun ecs RunInstances --RegionId cn-hangzhou \
--CpuOptions.Core 10 \
--CpuOptions.ThreadsPerCore 1 \
--ImageId aliyun_3_x64_20G_alibase_20250117.vhd \
--InstanceType ecs.g7.8xlarge \
--SecurityGroupId sg-bp1****** \
--VSwitchId vsw-bp1****** \
--SystemDisk.Category cloud_essd \
--Amount 1Deskripsi parameter utama:
CpuOptions.Core: Jumlah core fisik yang diaktifkan. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan.
CpuOptions.ThreadsPerCore: Jumlah thread per core. Nilai 1 menonaktifkan hyper-threading. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan.
Ubah opsi CPU untuk instans yang sudah ada
Untuk menyesuaikan jumlah core dan pengaturan hyper-threading pada instans yang sudah ada, Anda harus memberhentikan instans terlebih dahulu sebelum mengubah opsi CPU-nya. Prosedurnya sebagai berikut:
Konsol
Ikuti langkah-langkah berikut untuk mengubah opsi CPU instans yang sudah ada di konsol.
|
|
|
|
|
API
Untuk menentukan jumlah core fisik yang diaktifkan dan mengonfigurasi hyper-threading, gunakan urutan pemanggilan API berikut.
Panggil operasi StopInstance untuk memberhentikan instans.
Panggil operasi ModifyInstanceAttribute untuk mengubah opsi CPU. Parameter berikut relevan:
Parameter
Type
Deskripsi
CpuOptions.Core
integer
Jumlah core fisik yang diaktifkan. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan.
CpuOptions.ThreadsPerCore
integer
Jumlah thread per core. Nilai 1 menonaktifkan hyper-threading. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan.
Panggil operasi StartInstance untuk memulai ulang instans dan menerapkan perubahan.
CLI
Untuk menentukan jumlah core fisik yang diaktifkan dan mengonfigurasi hyper-threading, gunakan urutan pemanggilan CLI berikut.
Panggil operasi StopInstance untuk memberhentikan instans.
aliyun ecs StopInstance --region cn-hangzhou \ --InstanceId i-bp1******Panggil operasi ModifyInstanceAttribute untuk mengubah opsi CPU.
Perintah ini: Mengubah opsi CPU untuk instans
i-bp1******, mengaktifkan 10 core fisik (CpuOptions.Core=10) dan menonaktifkan hyper-threading (CpuOptions.ThreadsPerCore=1).aliyun ecs ModifyInstanceAttribute --region cn-hangzhou \ --InstanceId i-bp1****** \ --CpuOptions.Core 10 \ --CpuOptions.ThreadsPerCore 1Deskripsi parameter utama:
CpuOptions.Core: Jumlah core fisik yang diaktifkan. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan.
CpuOptions.ThreadsPerCore: Jumlah thread per core. Nilai 1 menonaktifkan hyper-threading. Parameter ini hanya didukung oleh tipe instans tertentu dan memerlukan nilai yang didukung. Untuk detailnya, lihat Batasan.
Panggil operasi StartInstance untuk memulai ulang instans ECS.
aliyun ecs StartInstance --region cn-hangzhou \ --InstanceId i-bp1******
Topik Terkait
Setelah mengubah opsi CPU, lakukan pengujian stabilitas sistem untuk memastikan sistem berjalan sesuai harapan. Jalankan pengujian beban atau pengujian spesifik aplikasi untuk mengamati respons dan performa sistem.
Setelah instans ECS dibuat, Anda dapat memantau metrik performa dan pemanfaatan sumber dayanya, serta mengoptimalkannya sesuai kebutuhan. Untuk informasi selengkapnya, lihat Lihat informasi pemantauan instans.
Dalam skenario seperti virtualisasi, pemrograman multi-threaded, dan komputasi berkinerja tinggi, Anda dapat melihat dan mengubah topologi CPU (
CpuOptions.TopologyType) untuk meningkatkan performa instans ECS, meningkatkan paralelisme, dan mengoptimalkan alokasi sumber daya.


