Tablet populer
Untuk membantu Anda memecahkan masalah performa, Bigtable menyediakan kemampuan untuk mengidentifikasi dan mengamati tablet aktif dalam cluster. Halaman ini menjelaskan tablet populer, memberi tahu Anda cara mendapatkan daftar tablet populer, dan membahas situasi saat mengidentifikasi tablet populer berguna. Sebelum membaca halaman ini, Anda harus membaca Ringkasan Bigtable.
Nama metode yang Anda gunakan untuk mendapatkan daftar tablet populer bervariasi
bergantung pada bahasa yang digunakan. Agar lebih sederhana, dalam dokumen ini, metode tersebut disebut dengan nama RPC Cloud Bigtable Admin API, ListHotTablets
. Anda bisa mendapatkan daftar tablet yang populer menggunakan cara berikut:
Mengidentifikasi tablet yang panas dapat membantu Anda melakukan tugas berikut:
- Mengidentifikasi kunci baris yang bermasalah
- Mengamati hotspot dengan perincian tingkat menit
- Mengidentifikasi tabel bermasalah dalam cluster
Memahami tablet yang 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 di node. Untuk mengoptimalkan performa, tablet dibagi atau dipindahkan ke node lain, bergantung pada pola akses. Berdasarkan pola akses pengguna — operasi baca, tulis, dan pemindaian — tablet diseimbangkan kembali di seluruh node. Untuk mengetahui detail tentang load balancing, lihat Cara Bigtable mengoptimalkan data Anda dari waktu ke waktu.
Tablet panas adalah tablet yang menunjukkan penggunaan CPU node yang berlebihan karena tablet menggunakan persentase CPU yang sangat besar dibandingkan dengan tablet lain. Penggunaan node yang tidak seimbang ini dapat menyebabkan latensi dan penundaan replikasi.
Di antara penyebab paling sering tablet menjadi panas adalah hotspot, yang terjadi saat aplikasi Anda sering mengakses baris yang berdekatan dalam tabel. Hotspot sering kali merupakan hasil dari desain skema yang tidak dioptimalkan untuk menyebarkan pola akses aplikasi Anda di seluruh tabel. Untuk mempelajari cara mendesain kunci baris agar hotspot tidak terjadi, lihat Praktik terbaik desain skema.
Untuk mendapatkan daftar tablet yang populer, Anda harus diberi peran yang memiliki izin
bigtable.viewer
.
Output
Metode ListHotTablets
menampilkan data berikut untuk cluster tertentu dalam instance.
- Nama tablet. ID unik yang ditetapkan oleh Bigtable ke tablet aktif. Kolom ini tidak ditampilkan oleh gcloud CLI.
- Tabel. ID tabel yang terkait dengan tablet panas.
- Penggunaan CPU. Penggunaan CPU rata-rata node yang terkait dengan tablet panas, yang dinyatakan sebagai persentase, selama interval satu menit tersebut. Persentase ini adalah rata-rata dari jumlah CPU Tulis dan CPU Baca dari waktu mulai hingga waktu berakhir.
- Waktu mulai. Waktu mulai periode tablet hangat.
- Waktu berakhir. Waktu berakhir periode tablet aktif.
- Kunci awal. Kunci baris pertama dalam tablet aktif.
- Kunci akhir. Kunci baris terakhir dalam tablet aktif. Sufiks
\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 di antara kunci awal dan kunci akhir terdapat dalam tablet aktif tersebut.
Hotspot dihitung pada resolusi satu menit, dan tablet mungkin muncul kembali dalam output. Dengan kata lain, satu tablet mungkin dianggap panas selama beberapa menit.
Secara default, ListHotTablets
menelusuri 24 jam terakhir. Untuk menelusuri dalam rentang waktu tertentu, berikan waktu mulai dan waktu berakhir.
Jumlah maksimum tablet populer yang ditampilkan adalah 50. Untuk mengubahnya, berikan ukuran halaman.
Metode ini akan menampilkan daftar kosong jika tidak ada tablet dalam cluster yang panas.
Contoh menggunakan gcloud CLI
Sebelum Anda menyalin contoh ini, instal gcloud
CLI.
Untuk melihat daftar tablet yang panas 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 mirip dengan berikut. Tablet yang panas dalam cluster dicantumkan dalam urutan menurun berdasarkan 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 data tablet populer
Mengidentifikasi tablet yang panas dalam cluster dapat membantu Anda memecahkan masalah performa. Anda dapat menggunakan metode ListHotTablets
bersama dengan 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 dalam pola akses yang mungkin menyebabkan hotspot.
Misalnya, anggaplah skema kunci baris tabel adalah
[user_id]#[event_timestamp]
, ID pengguna dan stempel waktu yang dipisahkan oleh simbol hash. Mendapatkan daftar tablet yang bermasalah dapat membantu Anda menentukan apakah ID pengguna atau stempel waktu peristiwa tertentu menyebabkan masalah. Mengidentifikasi pola akses
memungkinkan Anda mengambil tindakan lebih lanjut, seperti mendesain ulang kunci baris atau tabel untuk menyebarkan
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) sebagai gantinya.
Jika kunci baris awal dan akhir sama, dan kunci baris akhir ditambahkan dengan akhiran \000
, maka akan dibuat tablet baris tunggal. Jika tablet ini menerima traffic dalam jumlah yang sangat besar, hal ini akan menyebabkan hotspot.
Mengamati hotspot dengan perincian tingkat menit
Anda dapat menggunakan daftar tablet yang panas bersama 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 menjelajahi lebih lanjut hotspot tertentu. Karena Key Visualizer berjalan selama beberapa minggu, data hotspot-nya diagregasi dalam interval 15 menit. Selain itu, beberapa tablet dapat digabungkan dalam ruang kunci Key Visualizer yang sama.
Setelah menggunakan Key Visualizer untuk mengidentifikasi rentang waktu terjadinya hotspot, Anda dapat menjalankan ListHotTablets
untuk mendapatkan perincian yang lebih besar dalam ruang kunci dan waktu. Granularitas yang lebih besar sangat berguna untuk
penggunaan berkala.
ListHotTablets
dapat mengidentifikasi hotspot berumur pendek yang tidak dapat dilakukan KeyVisualizer.
Mengidentifikasi tabel bermasalah dalam cluster
Karena Key Visualizer beroperasi di tingkat tabel, alat ini tidak selalu menjadi pilihan terbaik untuk memecahkan masalah dalam cluster yang memiliki beberapa tabel.
ListHotTablets
beroperasi di tingkat cluster, sehingga Anda dapat menggunakannya untuk mengidentifikasi tabel dengan penggunaan CPU yang tinggi dan mempersempit masalah.
Langkah berikutnya
- Pahami performa Bigtable.
- Pelajari pemantauan Bigtable lebih lanjut.
- Ikuti tutorial tentang tolok ukur performa.