Tablet populer
Untuk membantu Anda memecahkan masalah performa, Bigtable menyediakan kemampuan untuk mengidentifikasi dan mengamati tablet panas dalam sebuah cluster. Halaman ini menjelaskan tablet panas, memberi tahu Anda cara mendapatkan daftar tablet panas, dan membahas situasi saat mengidentifikasi tablet panas sangat membantu. Sebelum membaca halaman ini, Anda harus membaca Ringkasan Bigtable.
Nama metode yang Anda gunakan untuk mendapatkan daftar tablet panas bervariasi
bergantung pada bahasa yang digunakan. Agar lebih praktis, dalam dokumen ini metode ini dirujuk dengan nama RPC Cloud Bigtable Admin API-nya, ListHotTablets
. Anda bisa mendapatkan daftar tablet panas dengan menggunakan cara berikut:
Mengidentifikasi tablet panas dapat membantu Anda melakukan tugas-tugas berikut:
- Mengidentifikasi kunci baris yang bermasalah
- Mengamati hotspot dengan perincian tingkat menit
- Mengidentifikasi tabel yang bermasalah dalam cluster
Memahami tablet populer
Tabel Bigtable di-sharding menjadi blok baris yang berdekatan, yang disebut tablet, untuk membantu menyeimbangkan beban kerja kueri. Setiap tablet dikaitkan dengan node, dan operasi pada baris ini dilakukan pada node. Untuk mengoptimalkan performa, tablet dibagi atau dipindahkan ke node yang berbeda bergantung pada pola akses. Berdasarkan pola akses pengguna — operasi baca, tulis, dan pindai — tablet diseimbangkan kembali di seluruh node. Untuk mengetahui detail tentang load balancing, lihat Cara Bigtable mengoptimalkan data dari waktu ke waktu.
Tablet panas adalah tablet yang menunjukkan penggunaan CPU node secara berlebihan karena tablet menggunakan persentase CPU yang tidak proporsional dibandingkan dengan tablet lainnya. Penggunaan node yang tidak seimbang ini dapat menyebabkan penundaan latensi dan replikasi.
Di antara penyebab tablet panas yang paling sering adalah hotspot, yang terjadi saat aplikasi sering mengakses baris yang berdekatan satu sama lain dalam tabel. Hotspot sering kali merupakan hasil dari desain skema yang tidak dioptimalkan untuk menyebarkan pola akses aplikasi Anda ke seluruh tabel. Untuk mempelajari cara mendesain kunci baris agar tidak terjadi hotspot, lihat Praktik terbaik desain skema.
Untuk mendapatkan daftar hot tablet, Anda harus ditetapkan ke peran yang memiliki izin bigtable.viewer
.
Output
Metode ListHotTablets
menampilkan data berikut untuk cluster tertentu dalam sebuah instance.
- Nama tablet. ID unik yang ditetapkan oleh Bigtable ke tablet panas. Kolom ini tidak ditampilkan oleh gcloud CLI.
- Tabel. ID tabel yang terkait dengan tablet panas.
- penggunaan CPU. Pemakaian CPU rata-rata node yang terkait dengan tablet panas, yang dinyatakan sebagai persentase, selama interval satu menit. Persentase ini adalah rata-rata jumlah proses Tulis CPU dan CPU Baca dari waktu mulai hingga waktu berakhir.
- Waktu mulai. Waktu mulai periode tablet panas.
- Waktu berakhir. Waktu berakhir periode tablet panas.
- Tombol Start. Tombol baris pertama di tablet hot.
- Kunci akhir. Tombol baris terakhir di tablet hot. Akhiran
\000
ditambahkan jika kunci awal dan akhir sama, yang menunjukkan bahwa tablet mencakup satu baris.
Kunci diurutkan secara leksikografis dalam tablet, sehingga kunci apa pun antara kunci awal dan kunci akhir terkandung dalam tablet panas tersebut.
Hotspot dihitung berdasarkan resolusi satu menit, dan tablet dapat muncul kembali dalam output. Dengan kata lain, satu tablet mungkin dianggap panas selama beberapa menit.
Secara default, ListHotTablets
menelusuri selama 24 jam terakhir. Untuk melakukan penelusuran dalam rentang waktu tertentu, berikan waktu mulai dan waktu berakhir.
Jumlah maksimum tablet panas yang ditampilkan adalah 50. Untuk mengubahnya, berikan ukuran halaman.
Metode ini akan menampilkan daftar kosong jika tidak ada tablet di cluster yang panas.
Contoh penggunaan gcloud CLI
Sebelum Anda menyalin contoh ini, instal gcloud
CLI.
Untuk melihat daftar hot tablet untuk cluster tertentu, jalankan perintah
hot-tablets list
di Cloud Shell atau jendela terminal lokal Anda.
gcloud bigtable hot-tablets list CLUSTER_ID --instance INSTANCE_ID
Ganti kode berikut:
CLUSTER_ID
: ID permanen untuk clusterINSTANCE_ID
: ID permanen untuk instance
Jika ada tablet dalam cluster yang panas, terminal akan menampilkan output yang serupa dengan berikut. Tablet panas dalam cluster tercantum dalam urutan menurun dari penggunaan CPU.
TABLE CPU_USAGE START_TIME END_TIME START_KEY END_KEY test-data 89.3 2021-12-14T01:19:57+00:00 2021-12-14T01:20:57+00:00 user29333893046… user29333893046… test-data 22.8 2021-12-14T01:04:59+00:00 2021-12-14T01:06:59+00:00 user29333893046… user29345657428… test-data 20.9 2021-12-14T01:18:56+00:00 2021-12-14T01:20:56+00:00 user54519105346… user545293 test-data 16.5 2021-12-14T01:18:56+00:00 2021-12-14T01:20:56+00:00 user49196524328… user49206
Kasus penggunaan untuk data tablet panas
Mengidentifikasi tablet panas di cluster dapat membantu Anda memecahkan masalah
performa. Anda dapat menggunakan metode ListHotTablets
bersama alat pemantauan lainnya, seperti alat diagnostik Key Visualizer untuk Bigtable.
Mengidentifikasi kunci baris yang bermasalah
Anda dapat menggunakan ListHotTablets
untuk mengidentifikasi kunci baris dan rentang baris tertentu. Hal ini
dapat memberikan kemampuan observasi ke pola akses yang mungkin menyebabkan hotspot.
Misalnya, anggaplah skema kunci baris sebuah tabel adalah [user_id]#[event_timestamp]
, ID pengguna, dan stempel waktu yang dipisahkan oleh simbol hash. Mendapatkan daftar hot tablet dapat membantu Anda menentukan apakah ID pengguna atau stempel waktu peristiwa tertentu menyebabkan hotspot. Dengan mengidentifikasi pola akses, Anda dapat mengambil tindakan lebih lanjut, seperti mendesain ulang kunci baris atau tabel untuk mendistribusikan penggunaan secara lebih merata di seluruh ruang kunci. Dalam contoh ini, jika ID pengguna meningkat secara monoton dan menyebabkan hotspot karena alasan tersebut, Anda dapat menetapkan ID pengguna dalam urutan yang berbeda atau menggunakan ID unik universal (UUID).
Jika kunci baris awal dan akhir sama, dan tombol baris akhir ditambahkan
dengan akhiran \000
, tombol ini akan membuat satu tablet baris. Saat menerima traffic dalam jumlah yang tidak proporsional, tablet ini akan mengarah ke hotspot.
Mengamati hotspot dengan perincian tingkat menit
Anda dapat menggunakan daftar hot tablet yang dikombinasikan dengan peta panas
Key Visualizer.
Meskipun Key Visualizer adalah alat yang baik untuk mengamati gambaran yang lebih besar dari pola akses
ruang kunci, ListHotTablets
memberikan perincian yang lebih besar.
Setelah memeriksa peta panas di Key Visualizer, Anda dapat mempelajari lebih lanjut hotspot tertentu. Karena Key Visualizer berjalan selama beberapa minggu, datanya untuk hotspot digabungkan dalam interval 15 menit. Selain itu, beberapa tablet mungkin digabungkan dalam ruang kunci Key Visualizer yang sama.
Setelah menggunakan Key Visualizer untuk mengidentifikasi rentang waktu saat hotspot
terjadi, Anda dapat menjalankan ListHotTablets
untuk mendapatkan perincian yang lebih besar baik dalam kunci maupun
ruang waktu. Perincian yang lebih besar sangat berguna untuk penggunaan berkala.
ListHotTablets
dapat mengidentifikasi hotspot berumur singkat yang tidak bisa dilakukan KeyVisualizer.
Mengidentifikasi tabel bermasalah dalam cluster
Karena Key Visualizer beroperasi pada tingkat tabel, ini tidak selalu menjadi pilihan
terbaik untuk memecahkan masalah di cluster yang memiliki beberapa tabel.
ListHotTablets
beroperasi di level cluster, sehingga Anda dapat menggunakannya untuk mengidentifikasi
tabel dengan penggunaan CPU yang tinggi dan mempersempit masalahnya.
Langkah selanjutnya
- Pahami performa Bigtable.
- Pelajari pemantauan Bigtable lebih lanjut.
- Ikuti tutorial tentang tolok ukur performa.