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 dianggap aktif jika berjalan di CPU atau menunggu sumber daya tersedia sehingga dapat dilanjutkan. Misalnya, sesi aktif mungkin menunggu halaman (atau blok) dibaca ke dalam memori, dan kemudian menggunakan CPU saat membaca data dari halaman.

Sesi aktif rata-rata

Sesi aktif rata-rata (AAS) adalah unit untuk metrik DBLoad dalam Wawasan Performa. 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:

  • Pernyataan SQL

  • Status sesi (berjalan pada CPU atau menunggu)

  • Host

  • Pengguna yang menjalankan SQL

Wawasan Performa menghitung AAS dengan membagi jumlah total sesi dengan jumlah sampel selama 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, muatan DB untuk interval waktu tersebut 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 berkaitan dengan AAS. Untuk menghitung AAE, Wawasan Performa membagi total waktu eksekusi kueri dengan interval waktu. Tabel berikut menunjukkan penghitungan AAE untuk kueri yang sama dalam 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 sebuah 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 pernyataan SQL 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 di CPU atau menunggu. Misalnya, sesi menggunakan CPU ketika mencari memori untuk buffer, melakukan penghitungan, atau menjalankan kode prosedural. Ketika tidak menggunakan CPU, sesi mungkin menunggu buffer memori menjadi kosong, file data dibaca, atau log untuk ditulis. Semakin banyak waktu untuk sesi menunggu sumber daya, semakin sedikit waktu untuk sesi dijalankan di 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 pernyataan SQL 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.

SQL Teratas

Saat peristiwa tunggu menunjukkan kemacetan, SQL teratas 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 Wawasan Performa menampilkan kueri SQL teratas yang berkontribusi pada muatan basis data. 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 basis data relasional, pengoptimal adalah kode default yang menentukan rencana paling efisien untuk kueri SQL.

Untuk instans DB, Performance Insights mengumpulkan rencana eksekusi secara otomatis. Untuk mendiagnosis masalah kinerja SQL, periksa rencana yang diambil untuk kueri SQL 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 alternatif, Anda dapat menggunakan tab SQL Teratas untuk berfokus 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 lebih banyak teks SQL di dasbor Wawasan Performa.

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

Tab SQL Teratas menunjukkan kueri digest 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.