Dengan alat introspeksi untuk Spanner, Anda dapat menyelidiki masalah pada database. Kueri tersebut terdiri dari kumpulan tabel bawaan yang dapat Anda kueri untuk mendapatkan lebih banyak insight tentang kueri, transaksi, pembacaan, dan lainnya. Tidak yakin alat mana yang harus digunakan untuk masalah tertentu? Daftar berikut merangkum setiap alat dan jenis pertanyaan yang dapat dijawab oleh alat tersebut.
Statistik kueri
Saat menyelidiki masalah dalam database, sebaiknya ketahui kueri mana yang mahal, sering dijalankan, atau pindai banyak data.
Statistik kueri adalah statistik gabungan untuk kueri (termasuk pernyataan DML dan kueri aliran perubahan), yang dikumpulkan dalam interval 1, 10, dan 60 menit. Statistik dikumpulkan untuk pernyataan yang berhasil diselesaikan serta pernyataan yang gagal, waktu habis, atau dibatalkan oleh pengguna.
Statistik ini mencakup penggunaan CPU tertinggi, jumlah total eksekusi kueri, latensi rata-rata, sebagian besar data yang dipindai, dan statistik kueri dasar tambahan. Gunakan statistik ini untuk membantu mengidentifikasi kueri yang mahal, sering dijalankan, atau memproses banyak data.
Anda dapat memvisualisasikan metrik ini pada deret waktu menggunakan dasbor Query insights. Dasbor bawaan ini membantu Anda melihat lonjakan penggunaan CPU dan mengidentifikasi kueri yang tidak efisien.
Kueri aktif terlama
Terkadang, Anda ingin melihat beban kerja saat ini pada sistem dengan memeriksa kueri yang berjalan. Gunakan alat Kueri aktif terlama untuk menyelidiki kueri yang berjalan lama yang mungkin berdampak pada performa database. Alat ini memberi tahu Anda apa itu kueri, kapan kueri tersebut mulai dijalankan, dan di sesi mana kueri tersebut berada.
Kueri streaming perubahan tidak disertakan dalam kueri aktif yang paling lama.
Baca statistik
Statistik pembacaan dapat digunakan untuk menyelidiki pembacaan yang paling umum dan paling memakan resource di database Anda menggunakan Reads API Spanner. Statistik ini dikumpulkan dan disimpan dalam 3 interval waktu yang berbeda - menit, 10 menit, dan satu jam. Untuk setiap interval waktu, Spanner melacak pembacaan yang menggunakan paling banyak resource.
Gunakan statistik operasi baca untuk mengetahui penggunaan resource gabungan oleh semua operasi baca, menemukan operasi baca yang paling banyak menggunakan CPU, dan mengetahui perubahan frekuensi operasi baca tertentu dari waktu ke waktu.
Statistik transaksi
Statistik transaksi dapat digunakan untuk menyelidiki masalah terkait transaksi. Misalnya, Anda dapat memeriksa transaksi yang berjalan lambat yang mungkin menyebabkan pertentangan atau mengidentifikasi perubahan bentuk transaksi yang menyebabkan regresi performa. Setiap baris berisi statistik semua transaksi yang dijalankan melalui database selama interval 1, 10, dan 60 menit.
Anda dapat memvisualisasikan metrik ini pada deret waktu menggunakan dasbor Analisis transaksi. Dasbor bawaan membantu Anda melihat latensi dalam transaksi dan mengidentifikasi transaksi yang bermasalah.
Statistik kunci
Statistik kunci dapat digunakan untuk menyelidiki konflik kunci di database Anda. Jika digunakan dengan statistik transaksi, Anda dapat menemukan transaksi yang menyebabkan konflik kunci dengan mencoba mendapatkan kunci di sel yang sama secara bersamaan.
Anda dapat memvisualisasikan metrik ini pada deret waktu menggunakan dasbor Insight kunci. Dasbor bawaan membantu Anda melihat waktu tunggu kunci dan mengonfirmasi apakah latensi disebabkan oleh pertentangan kunci dengan waktu tunggu kunci yang tinggi.
Metode API yang disertakan dalam setiap alat
Di Spanner, ada tumpang-tindih antara transaksi, bacaan, dan kueri. Oleh karena itu, mungkin tidak jelas metode API mana yang disertakan saat mengompilasi hasil untuk setiap alat introspeksi. Tabel berikut mencantumkan metode API utama dan hubungannya dengan setiap alat.
Metode API | Mode Transaksi | Statistik kueri | Kueri aktif terlama | Baca statistik | Statistik transaksi | Statistik kunci |
---|---|---|---|---|---|---|
Baca, StreamingRead | Transaksi hanya baca1 | Tidak | Tidak | Ya | Tidak | Tidak |
Transaksi baca-tulis | Tidak | Tidak | Ya | Ya | Ya | |
ExecuteSql, ExecuteStreamingSql | Transaksi hanya baca1 | Ya2 | Ya2 | Tidak | Tidak | Tidak |
Transaksi baca-tulis | Ya | Ya | Tidak | Ya | Ya | |
ExecuteBatchDml | Transaksi baca-tulis | Ya3 | Ya4 | Tidak | Ya | Ya |
Commit | Transaksi baca-tulis (DML5, Mutasi6) | Tidak | Tidak | Tidak | Ya | Ya |
Catatan:
1 Transaksi hanya baca tidak disertakan dalam statistik transaksi atau statistik kunci. Hanya transaksi baca-tulis yang disertakan dalam statistik transaksi dan statistik kunci.
2 Kueri yang dijalankan dengan PartitionQuery API tidak disertakan dalam statistik kueri atau kueri aktif terlama.
3 Batch pernyataan DML muncul di statistik kueri sebagai satu entri.
4 Pernyataan dalam batch akan muncul di kueri aktif terlama, bukan seluruh batch.
5 Operasi DML yang tidak di-commit tidak disertakan dalam statistik transaksi.
6 Mutasi kosong yang pada dasarnya tanpa pengoperasian tidak disertakan dalam statistik transaksi.
Statistik ukuran tabel
Anda dapat menggunakan Statistik ukuran tabel untuk memantau ukuran historis tabel dan indeks di database Anda.
Gunakan statistik ukuran tabel untuk menemukan tren dalam ukuran tabel, indeks, dan mengubah tabel aliran data. Anda juga dapat melacak tabel dan indeks terbesar Anda.
Harap diperhatikan bahwa fitur ini hanya memberikan perspektif historis. Bukan untuk pemantauan real-time.
Statistik operasi tabel
Anda dapat menggunakan Statistik operasi tabel untuk melakukan hal berikut:
- Pantau penggunaan tabel dan indeks Anda di database Anda.
- Temukan tren dalam penggunaan tabel dan indeks Anda.
- Mengidentifikasi perubahan lalu lintas.
Selain itu, Anda dapat menghubungkan perubahan di penyimpanan tabel dengan perubahan traffic operasi tulis.