Dokumen ini menjelaskan cara menggunakan dasbor insight Hotspot untuk mendeteksi hotspot di database Spanner Anda.
Ringkasan insight hotspot
Hotspot menyebabkan latensi di database Spanner Anda. Dasbor insight Hotspot membantu Anda mendeteksi pemisahan yang terpengaruh oleh hotspot. Gunakan langkah-langkah berikut untuk menentukan apakah hotspot menyebabkan latensi dan jika ya, cara menyelesaikan masalah tersebut:
- Buka dasbor.
- Tentukan apakah hotspot memerlukan intervensi Anda.
- Identifikasi pemisahan panas yang bermasalah.
Insight hotspot tersedia dalam konfigurasi satu region, multi-region, dan dual-region.
Harga
Tidak ada biaya tambahan untuk Insight hotspot.
Retensi data
Kebijakan retensi data untuk diagram insight Hotspot dan tabel perincian TopN didasarkan pada tabel SPANNER_SYS.SPLIT_STATS_TOP_* pokok. Untuk
kebijakan retensi tertentu, lihat
Retensi data statistik pemisahan panas.
Peran yang diperlukan
Anda mungkin memerlukan peran dan izin IAM yang berbeda, bergantung pada apakah Anda adalah pengguna IAM atau pengguna kontrol akses terperinci.
Pengguna Identity and Access Management (IAM)
Untuk mendapatkan izin yang Anda perlukan guna melihat halaman Insight hotspot, minta administrator untuk memberi Anda peran IAM berikut di instance:
-
Semua:
-
Cloud Spanner Viewer (
roles/spanner.viewer) -
Cloud Spanner Database Reader (
roles/spanner.databaseReader)
-
Cloud Spanner Viewer (
Izin berikut dalam peran Cloud Spanner Database Reader (
roles/spanner.databaseReader) diperlukan untuk melihat halaman Insight hotspot:
spanner.databases.beginReadOnlyTransactionspanner.databases.selectspanner.sessions.create
Pengguna kontrol akses yang sangat terperinci
Jika Anda adalah pengguna kontrol akses terperinci, pastikan Anda:
- Memiliki peran Cloud Spanner Viewer
(
roles/spanner.viewer) - Memiliki hak istimewa kontrol akses terperinci dan diberi peran sistem
spanner_sys_readeratau salah satu peran anggotanya. - Pilih
spanner_sys_readeratau peran anggota sebagai peran sistem Anda saat ini di halaman Ringkasan database.
Untuk mengetahui informasi selengkapnya, lihat ringkasan kontrol akses terperinci dan Peran sistem kontrol akses terperinci.
Membuka dasbor Insight hotspot
Dasbor Hotspot insights menampilkan persentase penggunaan CPU split puncak. Metrik ini adalah persentase abstrak 0 hingga 100 yang mencerminkan jumlah CPU yang digunakan saat baris dalam pemisahan diakses.
Untuk melihat dasbor Insight hotspot untuk database, lakukan tindakan berikut:
Di konsol Google Cloud , buka halaman Spanner.
Pilih instance dari daftar.
Di menu navigasi, klik tab Insight hotspot.
Di kolom database, pilih database dari daftar. Dasbor menampilkan skor penggunaan CPU yang dibagi-bagi pada saat puncak untuk database.
Dasbor ini mencakup elemen berikut:
- Grafik Skor penggunaan CPU split puncak: skor penggunaan CPU yang lebih tinggi (seperti mendekati 100) menunjukkan bahwa split panas dan sangat mungkin menyebabkan hotspot di server dibandingkan dengan skor yang lebih rendah.
- Kolom database: memfilter informasi pemisahan aktif pada database tertentu atau semua database.
- Filter rentang waktu: memfilter penggunaan CPU perincian puncak dengan inkremen 1 menit hingga total 6 jam.
- Tabel pemisahan TopN: menampilkan daftar pemisahan teratas yang diurutkan berdasarkan skor penggunaan CPU pemisahan.

Memahami data dalam Tabel Pemisahan TopN:
Tabel Pemisahan TopN diisi dengan data dari tabel
SPANNER_SYS.SPLIT_STATS_TOP_* pokok berdasarkan rentang waktu yang Anda pilih. Untuk
mengetahui informasi selengkapnya, lihat
Retensi data statistik pemisahan cepat.
Menafsirkan Baris dari tabel 10MINUTE atau HOUR:
Baris yang bersumber dari SPANNER_SYS.SPLIT_STATS_TOP_10MINUTE atau SPANNER_SYS.SPLIT_STATS_TOP_HOUR
mewakili data gabungan selama interval masing-masing. Seperti yang dijelaskan dalam Agregasi peristiwa tabel, CPU_USAGE_SCORE dalam baris ini adalah skor maksimum yang terlihat dalam sub-interval 1 menit yang mendasarinya, dan UNSPLITTABLE_REASONS adalah gabungan alasan.
Menentukan apakah hotspot memerlukan intervensi
Jika Anda melihat lonjakan atau peningkatan pada grafik yang sesuai dengan latensi keseluruhan dan skor penggunaan CPU yang tinggi secara terus-menerus, Anda mungkin perlu menyelidiki lebih lanjut.
Tinjau grafik untuk mempelajari pertanyaan-pertanyaan ini:
Database mana yang mengalami penurunan latensi? Pilih berbagai database dari daftar Database untuk menemukan database dengan latensi tertinggi. Untuk mengetahui database mana yang memiliki beban tertinggi, Anda juga dapat meninjau diagram Latensi untuk database di konsol Google Cloud .

Apakah latensinya tinggi? Apakah latensinya tinggi dibandingkan dengan latensi yang diharapkan untuk workload? Apakah grafiknya melonjak atau meningkat seiring waktu? Jika Anda tidak melihat latensi tinggi, berarti hotspot bukan masalahnya.
Apakah skor penggunaan CPU puncak tinggi yang dibagi adalah 100%? Apakah grafiknya melonjak atau meningkat seiring waktu? Jika Anda tidak melihat persentase penggunaan CPU puncak 100% yang persisten selama minimal 10 menit, berarti hotspot mungkin bukan masalahnya. Jika persentase penggunaan CPU yang dibagi-bagi mencapai puncaknya dalam waktu lebih dari 10 menit, Anda mungkin perlu menyelidikinya lebih lanjut untuk melihat apakah database memiliki tingkat latensi yang lebih tinggi dari yang diharapkan.
Jika Anda melihat persentase penggunaan CPU split puncak 100% selama lebih dari 10 menit, maka hotspot mungkin memerlukan intervensi Anda. Selanjutnya, Anda dapat melanjutkan perjalanan penelusuran masalah dengan mengidentifikasi pemisahan panas di database Anda.
Mengidentifikasi pemisahan panas yang bermasalah
Untuk mengidentifikasi pemisahan yang berpotensi bermasalah yang memiliki hotspot, lihat bagian Pemisahan TopN di konsol Google Cloud , seperti yang ditunjukkan di bawah.

Tabel Pemisahan TopN memberikan ringkasan pemisahan yang mungkin populer selama jangka waktu yang dipilih, yang diurutkan dari yang terbaru hingga yang paling awal. Jumlah pemisahan TopN dibatasi hingga 100.
Untuk grafik, Spanner mengambil data dari tabel statistik pemisahan TopN dengan perincian satu menit. Nilai untuk setiap titik data dalam grafik mewakili nilai rata-rata selama interval satu menit.
Tabel menampilkan properti berikut:
- Akhir interval: tanggal dan waktu saat penggunaan CPU puncak yang tinggi berakhir.
- Mulai pemisahan: kunci awal rentang baris dalam pemisahan. Jika awal pemisahan adalah <begin>, ini menunjukkan awal rentang kunci database.
- Batas pemisahan: kunci batas rentang baris dalam pemisahan. Jika kunci batas adalah <end>, ini menunjukkan akhir rentang kunci database.
- Skor penggunaan CPU yang dibagi: skor abstrak antara 0 dan 100 yang mencerminkan jumlah CPU yang digunakan oleh akses ke baris dalam pembagian pada satu server. Gunakan skor penggunaan CPU untuk membantu mengevaluasi apakah Anda memiliki hotspot.
- Tabel yang terpengaruh: tabel yang barisnya mungkin berada dalam pemisahan.
- Alasan tidak dapat dibagi: Array alasan mengapa Spanner
tidak dapat membagi lebih lanjut pemisahan yang sering diakses. Keberadaan nilai di sini menunjukkan bahwa pemisahan berbasis beban tidak dapat mengurangi hotspot karena alasan yang tercantum. Untuk mengetahui informasi selengkapnya, lihat
Jenis
UNSPLITTABLE_REASONS.
Menganalisis alasan tidak dapat dibagi
Tabel Pemisahan TopN memungkinkan Anda melihat perincian pemisahan spesifik mana yang terpengaruh oleh alasan ini pada waktu tertentu, seperti yang ditunjukkan di kolom Alasan tidak dapat dipisahkan.
Contoh alur kerja diagnosis
Berikut adalah alur kerja umum untuk men-debug hotspot menggunakan dasbor:
- Amati masalah performa: Perhatikan peningkatan latensi atau error di aplikasi Anda.
- Buka Insight hotspot: Buka dasbor Insight hotspot di konsol Google Cloud untuk database Spanner yang relevan. Pilih rentang waktu yang sesuai dengan masalah tersebut.
- Periksa grafik:
- Periksa grafik Skor penggunaan CPU puncak yang dipisahkan untuk nilai tinggi yang berkelanjutan, misalnya, >50%, terutama mendekati 100% yang berlangsung setidaknya selama 10 menit.
- Identifikasi pemisahan yang terpengaruh dan korelasikan temuan: Jika penggunaan CPU tinggi,
buka tabel Pemisahan TopN. Filter atau urutkan untuk menemukan pemisahan dengan
Skor penggunaan CPU pemisahan tertinggi selama waktu dampak. Periksa kolom
UNSPLITTABLE_REASONSuntuk melihat pemisahan teratas berikut:- Skor penggunaan CPU split tinggi dan alasan tidak dapat dibagi: Ini adalah sinyal kuat bahwa masalah performa terkait dengan hotspot yang tidak dapat diselesaikan secara otomatis oleh Spanner. Jenis alasan,
seperti
HOT_ROWatauMOVING_HOT_SPOT, memberikan petunjuk penting. - Skor penggunaan CPU yang dibagi tinggi dan tidak ada alasan tidak dapat dibagi: Hotspot mungkin baru, dan Spanner mungkin masih dalam proses pembagian. Atau, masalah mungkin merespons perubahan dalam workload, yang tidak memerlukan tindakan dari Anda.
- Skor penggunaan CPU split tinggi dan alasan tidak dapat dibagi: Ini adalah sinyal kuat bahwa masalah performa terkait dengan hotspot yang tidak dapat diselesaikan secara otomatis oleh Spanner. Jenis alasan,
seperti
- Pahami alasannya: Perhatikan kode tertentu dalam array
UNSPLITTABLE_REASONS. - Mitigasi: Berdasarkan alasan yang diidentifikasi, lihat jenis
UNSPLITTABLE_REASONSuntuk penjelasan mendetail dan strategi mitigasi yang direkomendasikan, yang biasanya melibatkan perubahan desain skema atau penyesuaian workload.
Langkah berikutnya
- Mempelajari Statistik hotspot terpisah