Topik ini menjelaskan cara mengelola konsumsi untuk pekerjaan komputasi pay-as-you-go di MaxCompute.
Fungsionalitas
Sumber daya bayar sesuai penggunaan MaxCompute bersifat skalabel, memungkinkan pekerjaan komputasi memanfaatkan sumber daya tanpa batasan. Untuk mencegah konsumsi tak terduga, penting untuk memantau penggunaan sumber daya. MaxCompute menyediakan metode peringatan berikut untuk pemantauan konsumsi:
Metode peringatan pemantauan konsumsi | Ukuran pengendalian konsumsi | Deskripsi |
Sumber daya maksimum yang dikonsumsi oleh suatu Pernyataan SQL | Batas konsumsi sumber daya | MaxCompute memungkinkan Anda memperkirakan sumber daya yang akan dikonsumsi oleh suatu Pernyataan SQL sebelum dieksekusi. Jika perkiraan konsumsi melebihi batas yang ditetapkan, pernyataan tersebut tidak akan dieksekusi, dan pesan kegagalan dikembalikan. Fitur ini membantu mencegah biaya tak terduga dari suatu Pernyataan SQL. |
Peringatan biaya | Pantau konsumsi kumulatif harian SQL standar dalam suatu proyek. Jika konsumsi kumulatif hari ini ditambah perkiraan konsumsi SQL standar baru melebihi ambang batas, eksekusi SQL baru dibatasi, dan pesan kegagalan dikembalikan. Fitur ini membantu mencegah konsumsi kumulatif harian SQL standar melebihi ekspektasi. Catatan Konsumsi SQL kumulatif harian mengacu pada penggunaan terukur yang belum ditagih dan tidak termasuk diskon atau promosi apa pun. |
Max sumber daya yang dikonsumsi oleh pernyataan SQL
Metode Penyetelan
Anda dapat menetapkan batas sumber daya yang dapat dikonsumsi oleh suatu Pernyataan SQL untuk suatu proyek atau sesi:
Pengaturan Tingkat Proyek
Pemilik proyek atau pengguna dengan peran Super_Administrator harus mengeksekusi perintah berikut untuk menetapkan atau menghapus batas pada sumber daya yang dikonsumsi oleh pernyataan SQL:
--Menetapkan batas atas konsumsi sumber daya oleh suatu Pernyataan SQL. SETPROJECT odps.sql.metering.value.max=<m_value>; --Menghapus batas atas konsumsi sumber daya oleh suatu Pernyataan SQL. SETPROJECT odps.sql.metering.value.max;m_value merepresentasikan ambang batas maksimum konsumsi sumber daya oleh suatu Pernyataan SQL. Nilai ini dihitung sebagai
volume baca SQL (GB) × kompleksitas SQL, bukan jumlah konsumsi aktual.CatatanSumber daya yang dikonsumsi oleh pernyataan SQL dibatasi oleh m_value. Jika konsumsi yang diperkirakan melebihi m_value, pernyataan tersebut tidak akan dieksekusi.
Penyetelan tingkat sesi
Kirimkan perintah berikut dengan pernyataan SQL yang ingin Anda eksekusi untuk menetapkan batas untuk sumber daya yang dikonsumsi oleh pernyataan tersebut. Jika perintah tidak ditambahkan sebelum pernyataan SQL, batas dihapus. Konfigurasi ini hanya berlaku untuk pernyataan saat ini.
SET odps.sql.metering.value.max=<m_value>;
Rekomendasi
Dalam praktiknya, kami merekomendasikan agar Anda:
Tentukan m_value untuk sebuah proyek berdasarkan konsumsi SQL historis dan penggunaan yang Anda harapkan.
Unduh informasi metering harian terperinci dan gunakan proyek sebagai granularitas untuk menghitung konsumsi sumber daya tugas SQL yang diklasifikasikan sebagai ComputationSql, yaitu
volume baca SQL (GB) × kompleksitas SQL. Pilih nilai yang sesuai berdasarkan konsumsi harian normal tertinggi dan fluktuasi bisnis.Sebagai alternatif, konversikan konsumsi komputasi menjadi biaya . Tentukan biaya yang sesuai berdasarkan situasi bisnis, lalu konversikan menjadi jumlah konsumsi .
Pertama, tetapkan batas konsumsi untuk sebuah proyek. Kemudian, tetapkan batas m_value untuk pernyataan SQL tertentu pada tingkat sesi.
CatatanSebelum menetapkan batas konsumsi tingkat sesi, pastikan bahwa SQL yang sesuai memang memerlukan batas tingkat sesi untuk mencegah penyalahgunaan fungsi ini.
Jika Anda menetapkan batas baik untuk proyek maupun sesi, konfigurasi sesi akan mengambil prioritas dibanding konfigurasi proyek.
Contohnya, jika m_value proyek adalah 100 dan m_value sesi untuk suatu Pernyataan SQL adalah 200, eksekusi pernyataan tersebut hanya dibatasi jika perkiraan konsumsi melebihi 200. Pernyataan SQL tanpa batas tingkat sesi tunduk pada batas tingkat proyek dan tidak akan dieksekusi jika perkiraan konsumsi sumber daya melebihi 100.
Mengonfigurasi batas atas untuk proyek atau sesi dapat memengaruhi eksekusi tugas. Kami merekomendasikan agar Anda memanfaatkan fitur peringatan kegagalan tugas, seperti pemantauan cerdas DataWorks, untuk mendeteksi kegagalan tugas secara cepat dan melakukan intervensi manual, memastikan bahwa tugas kritis tidak terhambat dan operasi bisnis tetap tidak terpengaruh.
Batas konsumsi kumulatif harian SQL
Metode Penyetelan
Untuk menetapkan batas konsumsi SQL kumulatif harian untuk suatu proyek, gunakan perintah berikut. Hanya pemilik proyek atau pengguna dengan peran Super_Administrator yang dapat mengeksekusi perintah ini.
SETPROJECT odps.costcontrol.rule={"byDate":{"sql":<Limit>}};byDate: Kumulatif harian. Konsumsi kumulatif dari 00:00:00 hingga 23:59:59 pada hari saat ini dihitung berdasarkan UTC+8. Konsumsi kumulatif direset pada hari berikutnya.
Limit: Ambang batas konsumsi kumulatif harian untuk SQL standar dalam sebuah proyek, diukur dalam USD. Ambang batas ini tidak memperhitungkan diskon atau promosi apa pun.
CatatanKonsumsi pernyataan SQL tunggal = Volume data yang dipindai (GB) × Kompleksitas × 0.0438. Di SAU (Riyadh - Wilayah Mitra), harga penagihan standar untuk SQL adalah 0.05256 USD/GB.
Pertimbangan
Setelah mengeksekusi perintah di atas, perhatikan aturan berikut:
Jenis aturan | Perilaku sistem | Contoh dan rekomendasi peringatan |
Penyetelan pertama kali | Sistem menghitung konsumsi kumulatif semua Pernyataan SQL standar dalam suatu proyek untuk hari berjalan dan memperkirakan konsumsi Pernyataan SQL standar baru. | Contoh: Saat Anda pertama kali menetapkan |
Penyetelan bukan pertama kali (mengubah nilai yang ada) | Perkiraan konsumsi Pernyataan SQL baru diverifikasi terhadap konsumsi kumulatif dan nilai terbaru untuk menentukan apakah eksekusi dibatasi. Konsumsi kumulatif tidak diatur ulang. | Jika batas konsumsi SQL kumulatif harian awal adalah 100, konsumsi terakumulasi hari ini adalah 99, dan Anda mengubah batas menjadi 150 sebelum memulai Pernyataan SQL standar baru. Sistem akan terlebih dahulu memperkirakan biaya SQL ini (misalnya 20). Jika jumlah perkiraan konsumsi dan konsumsi terakumulasi (20 + 99) kurang dari atau sama dengan 150, SQL dapat dieksekusi secara normal. Jika tidak, eksekusi akan diblokir. |
Ketika konsumsi kumulatif dan perkiraan konsumsi melebihi Limit | Tugas SQL standar baru diblokir dan tidak dapat dieksekusi. Pesan kesalahan dikembalikan. |
|