Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Muatan basis data
Beban basis data (beban DB) mengukur tingkat aktivitas sesi dalam database Anda. DBLoad
adalah metrik kunci dalam Performance Insights, dan Performance Insights mengumpulkan beban DB setiap detik.
Sesi aktif
Sesi basis data mewakili dialog aplikasi dengan basis data relasional. Sesi aktif adalah koneksi yang mengirimkan tugas ke mesin DB dan sedang menunggu tanggapan.
Sesi aktif saat sedang berjalan CPU atau menunggu sumber daya tersedia sehingga dapat dilanjutkan. Misalnya, sesi aktif mungkin menunggu halaman (atau blok) dibaca ke dalam memori, dan kemudian mengkonsumsi CPU saat membaca data dari halaman.
Sesi aktif rata-rata
Sesi aktif rata-rata (AAS) adalah unit untuk DBLoad
metrik dalam Performance Insights. Ini mengukur berapa banyak sesi yang aktif secara bersamaan di basis data.
Setiap detik, Wawasan Performa mengambil sampel jumlah sesi yang secara bersamaan menjalankan kueri. Untuk setiap sesi aktif, Wawasan Performa mengumpulkan data berikut:
-
SQLpernyataan
-
Status sesi (berjalan CPU atau menunggu)
-
Host
-
Pengguna yang menjalankan SQL
Performance Insights menghitung AAS dengan membagi jumlah total sesi dengan jumlah sampel untuk periode waktu tertentu. Misalnya, tabel berikut menunjukkan 5 sampel berturut-turut dari kueri yang berjalan yang diambil dengan interval 1 detik.
Sampel | Jumlah sesi yang menjalankan kueri | AAS | Penghitungan |
---|---|---|---|
1 | 2 | 2 | Total 2 sesi/1 sampel |
2 | 0 | 1 | Total 2 sesi/2 sampel |
3 | 4 | 2 | Total 6 sesi/3 sampel |
4 | 0 | 1.5 | Total 6 sesi/4 sampel |
5 | 4 | 2 | Total 10 sesi/5 sampel |
Pada contoh sebelumnya, beban DB untuk interval waktu adalah 2. AAS Pengukuran ini berarti bahwa rata-rata ada 2 sesi aktif pada waktu tertentu selama interval tersebut ketika 5 sampel diambil.
Eksekusi aktif rata-rata
Eksekusi aktif rata-rata (AAE) per detik terkait AAS dengan. Untuk menghitungAAE, Performance Insights membagi total waktu eksekusi kueri dengan interval waktu. Tabel berikut menunjukkan AAE perhitungan untuk query yang sama di tabel sebelumnya.
Waktu yang telah berlalu (dtk) | Total waktu eksekusi (detik) | AAE | Penghitungan |
---|---|---|---|
60 | 120 | 2 | 120 detik eksekusi/60 detik berlalu |
120 | 120 | 1 | 120 detik eksekusi/120 detik berlalu |
180 | 380 | 2.11 | 380 detik eksekusi/180 detik berlalu |
240 | 380 | 1,58 | 380 detik eksekusi/240 detik berlalu |
300 | 600 | 2 | 600 detik eksekusi/300 detik berlalu |
Dalam kebanyakan kasus, AAS dan AAE untuk kueri kira-kira sama. Namun, karena input ke penghitungan berupa sumber data yang berbeda, penghitungannya sering sedikit berbeda.
Dimensi
Metrik db.load
berbeda dengan metrik deret waktu lainnya karena Anda dapat membaginya menjadi beberapa sub-komponen yang disebut dimensi. Anda dapat menganggap dimensi sebagai kategori “potong menurut” untuk berbagai karakteristik metrik DBLoad
.
Saat Anda mendiagnosis masalah performa, dimensi berikut sering kali paling berguna:
Untuk daftar lengkap dimensi untuk mesin Amazon RDS , lihat. Muatan DB diiris berdasarkan dimensi
Peristiwa tunggu
Peristiwa tunggu menyebabkan SQL pernyataan menunggu peristiwa tertentu terjadi sebelum dapat terus berjalan. Peristiwa tunggu adalah dimensi penting, atau kategori, untuk muatan DB karena menunjukkan di mana pekerjaan terhambat.
Setiap sesi aktif berjalan CPU atau menunggu. Misalnya, sesi mengkonsumsi CPU ketika mereka mencari memori untuk buffer, melakukan perhitungan, atau menjalankan kode prosedural. Ketika sesi tidak memakanCPU, mereka mungkin menunggu buffer memori menjadi gratis, file data untuk dibaca, atau log untuk ditulis. Semakin banyak waktu sesi menunggu sumber daya, semakin sedikit waktu yang dijalankannya. CPU
Ketika Anda menyetel basis data, Anda sering mencoba mencari tahu sumber daya yang sedang menunggu sesi. Misalnya, dua atau tiga peristiwa tunggu mungkin menyumbang 90 persen dari muatan DB. Ukuran ini berarti bahwa, rata-rata, sesi aktif menghabiskan sebagian besar waktunya menunggu sejumlah kecil sumber daya. Jika Anda dapat mengetahui penyebab peristiwa tunggu ini, Anda dapat mencoba solusinya.
Peristiwa tunggu bervariasi berdasarkan mesin DB:
-
Untuk informasi tentang semua MariaDB dan acara tunggu SQL saya, lihat Tunggu Tabel Ringkasan Acara
di dokumentasi Saya. SQL -
Untuk informasi tentang semua acara SQL tunggu Postgre, lihat The Statistics Collector > Tunggu tabel Event di dokumentasi
SQL Postgre. -
Untuk informasi tentang semua peristiwa tunggu Oracle, lihat Descriptions of Wait Events
dalam dokumentasi Oracle. -
Untuk informasi tentang semua peristiwa penantian SQL Server, lihat Jenis Menunggu
di dokumentasi SQL Server.
catatan
Untuk Oracle, proses latar belakang terkadang berfungsi tanpa SQL pernyataan terkait. Dalam kasus ini, Wawasan Performa melaporkan jenis proses latar belakang yang digabungkan dengan titik dua dan kelas tunggu yang terkait dengan proses latar belakang tersebut. Jenis proses latar belakang meliputi LGWR
, ARC0
, PMON
, dan sebagainya.
Sebagai contoh, ketika pengarsip melakukan I/O, laporan Wawasan Performa untuk I/O mirip dengan ARC1:System I/O
. Kadang-kadang, jenis proses latar belakang juga hilang, dan Wawasan Performa hanya melaporkan kelas tunggu, misalnya :System
I/O
.
Teratas SQL
Jika acara tunggu menunjukkan kemacetan, bagian atas SQL menunjukkan kueri mana yang paling berkontribusi pada pemuatan DB. Misalnya, saat ini mungkin ada banyak kueri yang berjalan di basis data, tetapi kueri tunggal mungkin menggunakan 99 persen dari muatan DB. Dalam hal ini, muatan tinggi mungkin menunjukkan masalah dalam kueri.
Secara default, konsol Performance Insights menampilkan SQL kueri teratas yang berkontribusi pada pemuatan database. Konsol juga menunjukkan statistik yang relevan untuk setiap pernyataan. Untuk mendiagnosis masalah performa untuk pernyataan tertentu, Anda dapat memeriksa rencana pelaksanaannya.
Rencana
Rencana eksekusi, juga cukup disebut rencana, adalah urutan langkah-langkah yang mengakses data. Misalnya, rencana untuk menggabungkan tabel t1
dan t2
mungkin mengulang semua baris di t1
dan membandingkan setiap baris dengan baris di t2
. Dalam database relasional, pengoptimal adalah kode bawaan yang menentukan rencana yang paling efisien untuk SQL kueri.
Untuk instans DB, Performance Insights mengumpulkan rencana eksekusi secara otomatis. Untuk mendiagnosis masalah SQL kinerja, periksa rencana yang diambil untuk SQL kueri sumber daya tinggi. Rencana menunjukkan bagaimana database telah mengurai dan menjalankan kueri.
Untuk mempelajari cara menganalisis beban DB menggunakan rencana, lihat:
Penangkapan rencana
Setiap lima menit, Performance Insights mengidentifikasi kueri yang paling intensif sumber daya dan menangkap rencana mereka. Dengan demikian, Anda tidak perlu mengumpulkan dan mengelola rencana dalam jumlah besar secara manual. Sebagai gantinya, Anda dapat menggunakan SQL tab Top untuk fokus pada rencana untuk kueri yang paling bermasalah.
catatan
Wawasan Performa tidak menangkap rencana untuk kueri yang teksnya melebihi batas teks kueri maksimum yang dapat dikumpulkan. Untuk informasi selengkapnya, lihat Mengakses SQL teks lainnya di dasbor Performance Insights.
Periode retensi untuk rencana eksekusi sama dengan data Wawasan Performa Anda. Pengaturan retensi di tingkat gratis adalah Default (7 hari). Untuk mempertahankan data performa Anda lebih lama, tetapkan 1–24 bulan. Untuk informasi selengkapnya tentang periode retensi, lihat Harga dan retensi data untuk Wawasan Performa.
Kueri digest
SQLTab Top menampilkan kueri intisari secara default. Kueri digest sendiri tidak memiliki rencana, tetapi semua kueri yang menggunakan nilai literal memiliki rencana. Misalnya, kueri digest mungkin menyertakan teks WHERE `email`=?
. Digest mungkin berisi dua kueri, satu dengan teks WHERE email=user1@example.com
dan satu lagi dengan WHERE
email=user2@example.com
Masing-masing kueri literal ini mungkin mencakup beberapa rencana.
Saat Anda memilih kueri intisari, konsol akan menampilkan semua paket untuk pernyataan turunan dari intisari yang dipilih. Dengan demikian, Anda tidak perlu melihat semua pernyataan turunan untuk menemukan rencana. Anda mungkin melihat rencana yang tidak ada dalam daftar 10 pernyataan turunan teratas yang ditampilkan. Konsol menampilkan rencana untuk semua kueri turunan yang rencananya telah dikumpulkan, terlepas dari apakah kueri tercantum dalam daftar 10 teratas.