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 demikian, cara menyelesaikan masalah:
- Buka dasbor.
- Tentukan apakah hotspot memerlukan intervensi Anda.
- Mengidentifikasi 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 pemisahan TopN didasarkan pada tabel SPANNER_SYS.SPLIT_STATS_TOP_* yang mendasarinya. Untuk kebijakan retensi tertentu, lihat Retensi data statistik pemisahan panas.
Peran yang diperlukan
Anda mungkin memerlukan peran dan izin Identity and Access Management (IAM) yang berbeda, bergantung pada apakah Anda adalah pengguna IAM atau pengguna kontrol akses terperinci.
Pengguna IAM
Untuk mendapatkan izin yang Anda perlukan untuk melihat halaman Hotspot insights, minta administrator untuk memberi Anda peran IAM berikut pada 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 Hotspot insights:
spanner.databases.beginReadOnlyTransactionspanner.databases.selectspanner.sessions.create
Pengguna kontrol akses terperinci
Jika Anda adalah pengguna kontrol akses terperinci, pastikan Anda:
- 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 Overview database.
Untuk mengetahui informasi selengkapnya, lihat ringkasan kontrol akses terperinci dan Peran sistem kontrol akses terperinci.
Membuka dasbor Hotspot insights
Dasbor Hotspot insights menampilkan persentase penggunaan CPU pemisahan puncak. Metrik ini adalah persentase abstrak dari 0 hingga 100 yang mencerminkan jumlah CPU yang digunakan saat baris dalam pemisahan diakses.
Untuk melihat dasbor Hotspot insights untuk database, lakukan hal berikut:
Di konsol Google Cloud , buka halaman Spanner.
Pilih instance dari daftar.
Di menu navigasi, klik tab Hotspot insights.
Di kolom database, pilih database dari daftar. Dasbor menunjukkan skor penggunaan CPU terpisah puncak untuk database.
Dasbor ini mencakup elemen berikut:
- Grafik Peak split CPU usage score: skor penggunaan CPU yang lebih tinggi (seperti mendekati 100) menunjukkan bahwa pemisahan tersebut panas dan sangat mungkin menyebabkan hotspot di server dibandingkan dengan skor yang lebih rendah.
- Kolom database: memfilter informasi pemisahan panas di database tertentu atau semua database.
- Filter rentang waktu: memfilter penggunaan CPU pemisahan puncak berdasarkan penambahan 1 menit hingga total 6 jam.
- Tabel pemisahan TopN: menampilkan daftar pemisahan teratas yang diurutkan berdasarkan skor penggunaan CPU pemisahan.

Memahami data di Tabel Pemisahan TopN:
Tabel Pemisahan TopN mengisi data dari tabel SPANNER_SYS.SPLIT_STATS_TOP_* yang mendasarinya berdasarkan rentang waktu yang Anda pilih. Untuk
mengetahui informasi selengkapnya, lihat
Retensi data statistik pemisahan panas.
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 di baris ini adalah skor maksimum yang terlihat di
sub-interval 1 menit yang mendasarinya, dan UNSPLITTABLE_REASONS adalah gabungan
alasan.
Menentukan apakah hotspot memerlukan intervensi
Jika Anda melihat lonjakan atau peningkatan dalam grafik yang sesuai dengan latensi keseluruhan dan skor penggunaan CPU terpisah puncak tinggi yang persisten, Anda mungkin perlu menyelidiki lebih lanjut.
Tinjau grafik tersebut untuk mempelajari pertanyaan-pertanyaan ini:
Database mana yang mengalami penurunan latensi? Pilih berbagai database dari daftar Databases 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 masalah.
Apakah skor penggunaan CPU terpisah puncak tinggi berada di angka 100%? Apakah grafiknya melonjak atau meningkat seiring waktu? Jika Anda tidak melihat persentase penggunaan CPU terpisah puncak 100% yang persisten selama minimal 10 menit, hotspot mungkin tidak menjadi masalah. Jika persentase penggunaan CPU terpisah puncak tinggi selama lebih dari 10 menit, sebaiknya selidiki lebih lanjut untuk melihat apakah database memiliki tingkat latensi yang lebih tinggi dari yang diharapkan.
Jika Anda melihat persentase penggunaan CPU terpisah puncak 100% selama lebih dari 10 menit, hotspot mungkin memerlukan intervensi Anda. Selanjutnya, Anda dapat melanjutkan perjalanan proses debug dengan mengidentifikasi pemisahan panas di database Anda.
Mengidentifikasi pemisahan panas yang bermasalah
Untuk mengidentifikasi pemisahan yang berpotensi bermasalah dan memiliki hotspot, lihat bagian Pemisahan TopN di konsol Google Cloud , seperti yang ditunjukkan berikut ini.

Tabel TopN splits memberikan ringkasan pemisahan yang mungkin panas selama periode waktu yang dipilih, diurutkan dari yang terbaru hingga yang terlama. 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:
- Interval end: tanggal dan waktu saat penggunaan CPU puncak tinggi berakhir.
- Split start: 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 pemisahan: skor abstrak antara 0 dan 100 yang mencerminkan jumlah CPU yang digunakan oleh akses ke baris dalam pemisahan di 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 dipisahkan: Array alasan mengapa Spanner
tidak dapat memisahkan pemisahan panas lebih lanjut. Adanya 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 dipisahkan
Tabel TopN splits memungkinkan Anda melihat perincian pemisahan spesifik mana yang terpengaruh oleh alasan ini pada waktu tertentu, seperti yang ditunjukkan di kolom Unsplittable reasons.
Contoh alur kerja diagnosis
Berikut adalah alur kerja umum untuk men-debug hotspot menggunakan dasbor:
- Amati masalah performa: Perhatikan peningkatan latensi atau error dalam aplikasi Anda.
- Buka Hotspot insights: Buka dasbor Hotspot insights di konsol Google Cloud untuk database Spanner yang relevan. Pilih rentang waktu yang sesuai dengan masalah.
- Periksa grafik:
- Periksa grafik Peak split CPU usage score untuk melihat nilai tinggi yang berkelanjutan, misalnya, >50%, terutama yang mendekati 100% dan berlangsung selama setidaknya 10 menit.
- Identifikasi pemisahan yang terpengaruh dan korelasikan temuan: Jika penggunaan CPU tinggi, buka tabel TopN splits. Filter atau urutkan untuk menemukan pemisahan dengan
Skor penggunaan CPU pemisahan tertinggi selama waktu dampak. Periksa
kolom
UNSPLITTABLE_REASONSuntuk pemisahan teratas berikut:- Skor penggunaan CPU pemisahan yang tinggi dan alasan yang tidak dapat dipisahkan: 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 pemisahan tinggi dan tidak ada alasan yang tidak dapat dipisahkan: Hotspot mungkin baru, dan Spanner mungkin masih dalam proses pemisahan. Atau, masalah tersebut mungkin merespons perubahan dalam workload, yang tidak memerlukan tindakan dari Anda.
- Skor penggunaan CPU pemisahan yang tinggi dan alasan yang tidak dapat dipisahkan: 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
- Pelajari Statistik hotspot terpisah