Muatan basis data - Layanan Basis Data Relasional Amazon

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. DBLoadadalah 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:

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.