Untuk meningkatkan kinerja instans, Alibaba Cloud secara default mengaktifkan Hyper-Threading pada sebagian besar tipe instans, membagi satu core fisik menjadi dua core logis. Namun, dalam skenario intensif memori atau yang memerlukan kinerja single-core tinggi, menonaktifkan Hyper-Threading dapat mengoptimalkan kinerja dan mengurangi biaya lisensi perangkat lunak.
Skenario
Alibaba Cloud mengaktifkan teknologi Hyper-Threading secara default untuk sebagian besar tipe instans guna meningkatkan kinerja multi-threaded. Namun, dalam beberapa skenario bisnis, menonaktifkan Hyper-Threading dapat membantu meningkatkan kinerja keseluruhan atau mengoptimalkan biaya. Berikut ini adalah skenario tipikal untuk menonaktifkan Hyper-Threading.
Skema bisnis intensif memori untuk meningkatkan kinerja
Untuk beban kerja intensif memori seperti layanan caching, Anda mungkin tidak membutuhkan banyak thread konkuren. Oleh karena itu, menonaktifkan Hyper-Threading dapat mengoptimalkan rasio komputasi terhadap penyimpanan dan meningkatkan kinerja layanan.
Persyaratan kinerja single-core tinggi untuk meningkatkan kinerja
Untuk skenario yang memerlukan kinerja single-core tinggi, menonaktifkan Hyper-Threading dapat mengurangi overhead kinerja akibat konteks thread dan pergantian konteks.
Skema simulasi/desain industri untuk mengurangi biaya lisensi perangkat lunak
Beberapa perangkat lunak simulasi industri, perangkat lunak desain, dan sistem operasi tertentu mengenakan biaya lisensi berdasarkan jumlah core. Mengurangi jumlah core CPU yang diaktifkan atau menonaktifkan Hyper-Threading untuk mengurangi jumlah core fisik/logis dapat secara efektif menghemat biaya lisensi perangkat lunak.
Penagihan
Mengubah opsi CPU hanya mempengaruhi jumlah core yang diaktifkan atau pengaturan Hyper-Threading, bukan jumlah total CPU untuk instans. Oleh karena itu, biaya untuk tipe instans tetap tidak berubah, dan tidak ada biaya tambahan yang dikenakan.
Batasan
Beberapa keluarga instans hanya mendukung pengaturan opsi CPU melalui API, Command Line Interface (CLI), atau SDK.
Hanya tipe instans tertentu yang mendukung pengaturan opsi CPU (menyesuaikan jumlah CPU yang diaktifkan dan pengaturan Hyper-Threading), dengan rentang parameter yang bervariasi antar tipe instans.
CatatanKlik tautan tipe instans yang sesuai di bawah ini untuk melihat nilai-nilai yang didukung untuk jumlah CPU yang diaktifkan (CPU core fisik) dan konfigurasi Hyper-Threading (thread per core) untuk setiap tipe instans.
Prosedur
Anda dapat mengatur opsi CPU saat membuat instans atau mengubah opsi CPU untuk instans yang sudah ada.
Atur jumlah core CPU dan pengaturan Hyper-Threading saat membuat instans
Anda dapat menyesuaikan jumlah core CPU yang diaktifkan dan pengaturan Hyper-Threading saat membuat instans. Lihat operasi berikut sebagai referensi.
Konsol
Saat membuat instans dengan Peluncuran Kustom, Anda dapat mengatur jumlah core fisik yang diaktifkan dan mengaktifkan/menonaktifkan Hyper-Threading melalui . Tabel berikut menjelaskan parameter ketika metode ini dipilih:
|
|
API
Anda dapat mengatur jumlah core fisik yang diaktifkan dan mengaktifkan/menonaktifkan Hyper-Threading saat memanggil operasi RunInstances untuk membuat dan memulai instans. Tabel berikut menjelaskan parameter:
Parameter | Tipe | Deskripsi |
CpuOptions.Core | integer | Jumlah core fisik yang diaktifkan untuk instans. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan. |
CpuOptions.ThreadsPerCore | integer | Jumlah thread per core. Mengatur parameter ini ke 1 menonaktifkan Hyper-Threading. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan. |
CLI
Anda dapat mengatur jumlah core fisik yang diaktifkan (CpuOptions.Core) dan konfigurasi Hyper-Threading (CpuOptions.ThreadsPerCore) saat memanggil operasi RunInstances melalui CLI untuk membuat dan memulai instans. Berikut adalah contoh perintah CLI:
Arti perintah: Saat membuat instans ecs.g7.8xlarge (16 core CPU fisik), atur untuk mengaktifkan 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 untuk instans. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan.
CpuOptions.ThreadsPerCore: Jumlah thread per core. Mengatur parameter ini ke 1 menonaktifkan Hyper-Threading. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan.
Modifikasi jumlah core CPU dan pengaturan Hyper-Threading untuk instans yang sudah ada
Jika Anda perlu menyesuaikan jumlah core CPU dan pengaturan Hyper-Threading untuk instans yang sudah ada, Anda harus menghentikan instans terlebih dahulu. Lihat operasi berikut sebagai referensi.
API
Anda dapat merujuk pada proses pemanggilan API berikut untuk mengatur jumlah core fisik yang diaktifkan dan mengaktifkan/menonaktifkan Hyper-Threading.
Panggil operasi StopInstance untuk menghentikan instans.
Panggil operasi ModifyInstanceAttribute untuk mengubah opsi CPU. Tabel berikut menjelaskan parameter.
Parameter
Tipe
Deskripsi
CpuOptions.Core
integer
Jumlah core fisik yang diaktifkan untuk instans. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan.
CpuOptions.ThreadsPerCore
integer
Jumlah thread per core. Mengatur parameter ini ke 1 menonaktifkan Hyper-Threading. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan.
Panggil operasi StartInstance untuk memulai ulang instans dan menerapkan konfigurasi.
CLI
Anda dapat merujuk pada proses pemanggilan CLI berikut untuk mengatur jumlah core fisik yang diaktifkan dan mengaktifkan/menonaktifkan Hyper-Threading.
Panggil operasi StopInstance untuk menghentikan instans.
aliyun ecs StopInstance --region cn-hangzhou \ --InstanceId i-bp1******Panggil operasi ModifyInstanceAttribute untuk mengubah opsi CPU.
Arti perintah: Ubah opsi CPU dari instans dengan ID i-bp1******, aktifkan 10 core fisik (CpuOptions.Core=10) dan nonaktifkan 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 untuk instans. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan.
CpuOptions.ThreadsPerCore: Jumlah thread per core. Mengatur parameter ini ke 1 menonaktifkan Hyper-Threading. Hanya tipe instans tertentu yang mendukung penyesuaian, dan hanya nilai tertentu yang dapat dikonfigurasikan. Untuk informasi lebih lanjut, lihat Batasan.
Panggil operasi StartInstance untuk memulai ulang instans ECS.
aliyun ecs StartInstance --region cn-hangzhou \ --InstanceId i-bp1******
Referensi
Setelah opsi CPU berhasil dimodifikasi, kami sarankan Anda melakukan tes stabilitas sistem untuk memastikan sistem berjalan dengan baik. Anda dapat menjalankan beberapa tes beban atau tes skenario aplikasi untuk mengamati respons dan kinerja instans.
Setelah instans ECS dibuat, Anda dapat memantau metrik kinerja dan pemanfaatan sumber daya instans serta mengoptimalkan pengaturan. Untuk informasi lebih lanjut, lihat Lihat informasi pemantauan instans.
Dalam skenario berbeda seperti lingkungan virtualisasi, pemrograman multi-threaded, dan komputasi berkinerja tinggi, Anda dapat melihat dan memodifikasi struktur topologi CPU (
CpuOptions.TopologyType) untuk meningkatkan kinerja instans ECS, meningkatkan paralelisme, dan mengoptimalkan alokasi sumber daya.
