Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat profil operasi Amazon DocumentDB
Anda dapat menggunakan profiler di Amazon DocumentDB (dengan kompatibilitas MongoDB) untuk mencatat waktu eksekusi dan detail operasi yang dilakukan di klaster Anda. Profiler berguna untuk memantau operasi paling lambat di klaster Anda untuk membantu Anda meningkatkan performa kueri individual dan performa klaster secara keseluruhan.
Secara default, fitur profiler dinonaktifkan. Saat diaktifkan, profiler mencatat operasi yang memakan waktu lebih lama dari nilai ambang batas yang ditentukan pelanggan (misalnya, 100 ms) ke Amazon Logs. CloudWatch Detail yang dicatat termasuk perintah yang diprofilkan, waktu, ringkasan rencana, dan metadata klien. Setelah operasi dicatat ke CloudWatch Log, Anda dapat menggunakan Wawasan CloudWatch Log untuk menganalisis, memantau, dan mengarsipkan data profil Amazon DocumentDB Anda. Kueri umum disediakan di bagian Pertanyaan umum.
Saat diaktifkan, profiler menggunakan sumber daya tambahan di klaster Anda. Kami merekomendasikan Anda memulai dengan nilai ambang batas yang tinggi (misalnya, 500 milidetik) dan secara bertahap menurunkan nilai tersebut untuk mengidentifikasi operasi yang lambat. Memulai dengan nilai ambang 50 milidetik dapat menyebabkan masalah performa pada klaster Anda untuk aplikasi dengan throughput tinggi. Profiler diaktifkan di tingkat klaster dan berfungsi pada semua instans dan basis data dalam klaster. Amazon DocumentDB mencatat operasi ke CloudWatch Amazon Logs dengan upaya terbaik.
Meskipun Amazon DocumentDB tidak mengenakan biaya tambahan untuk mengaktifkan profiler, Anda dikenakan tarif standar untuk penggunaan Log. CloudWatch Untuk informasi tentang harga CloudWatch Log, lihat CloudWatch harga Amazon.
Operasi yang didukung
Profiler Amazon DocumentDB mendukung operasi berikut:
Batasan
Profiler kueri lambat hanya dapat memancarkan log profiler jika seluruh kumpulan hasil kueri dapat masuk dalam satu batch, dan jika kumpulan hasil di bawah 16MB (ukuran maksimum). BSON Set hasil yang lebih besar dari 16MB secara otomatis dibagi menjadi beberapa batch.
Sebagian besar driver atau shell dapat menetapkan ukuran batch default yang kecil. Anda dapat menentukan ukuran batch sebagai bagian dari kueri Anda. Untuk tujuan menangkap log kueri lambat, kami merekomendasikan ukuran batch yang melebihi ukuran set hasil yang Anda harapkan. Jika Anda tidak yakin dengan ukuran set hasil, atau jika bervariasi, Anda juga dapat mengatur ukuran batch ke jumlah besar (mis., 100rb).
Namun, menggunakan ukuran batch yang lebih besar berarti lebih banyak hasil yang harus diambil dari basis data sebelum respons dikirim ke klien. Untuk beberapa kueri, hal itu dapat membuat penundaan lebih lama sebelum Anda mendapatkan hasil. Jika Anda tidak berencana untuk menggunakan seluruh set hasil, mungkin Anda akan menghabiskan lebih banyak I/O untuk memproses kueri dan membuang hasilnya.
Mengaktifkan profiler Amazon DocumentDB
Mengaktifkan profiler pada sebuah klaster adalah proses tiga langkah. Pastikan bahwa semua langkah selesai, atau log profil tidak akan dikirim ke CloudWatch Log. Profiler diatur pada tingkat klaster dan dilakukan pada semua basis data dan intans klaster.
Untuk mengaktifkan profiler di klaster
-
Karena Anda tidak dapat mengubah grup parameter klaster default, pastikan Anda memiliki grup parameter klaster kustom yang tersedia. Untuk informasi selengkapnya, lihat Membuat grup parameter cluster Amazon DocumentDB.
-
Dengan menggunakan grup parameter klaster kustom yang tersedia, ubah parameter berikut: profiler
, profiler_threshold_ms
, dan profiler_sampling_rate
. Untuk informasi selengkapnya, lihat Memodifikasi grup parameter cluster Amazon DocumentDB.
-
Buat atau modifikasi cluster Anda untuk menggunakan grup parameter cluster kustom dan untuk mengaktifkan mengekspor profiler
CloudWatch log ke Log.
Bagian berikut menunjukkan bagaimana menerapkan langkah-langkah ini menggunakan AWS Management Console dan AWS Command Line Interface (AWS CLI).
- Using the AWS Management Console
-
-
Sebelum Anda mulai, buat klaster Amazon DocumentDB dan grup parameter klaster kustom jika Anda belum memilikinya. Untuk informasi selengkapnya, silakan lihat Membuat grup parameter cluster Amazon DocumentDB dan Membuat cluster Amazon DocumentDB.
-
Dengan menggunakan grup parameter klaster kustom yang tersedia, ubah parameter berikut. Untuk informasi selengkapnya, lihat Memodifikasi grup parameter cluster Amazon DocumentDB.
-
profiler
— Mengaktifkan atau menonaktifkan pembuatan profil kueri. Nilai yang diizinkan adalah enabled
dan disabled
. Nilai default-nya adalah disabled
. Untuk mengaktifkan pembuatan profil, atur nilainya ke enabled
.
-
profiler_threshold_ms
— Ketika profiler
diatur keenabled
, semua perintah yang memakan waktu lebih lama dari
profiler-threshold-ms
yang dicatat CloudWatch. Nilai yang diizinkan adalah [50-INT_MAX]
. Nilai default-nya adalah 100
.
-
profiler_sampling_rate
— Bagian dari operasi lambat yang harus diprofilkan atau dicatat. Nilai yang diizinkan adalah [0.0-1.0]
. Nilai default-nya adalah 1.0
.
-
Ubah klaster Anda untuk menggunakan grup parameter klaster kustom dan setel ekspor log profiler untuk dipublikasikan ke Amazon. CloudWatch
-
Di panel navigasi, pilih Klaster untuk menambahkan grup parameter kustom Anda ke sebuah klaster.
-
Pilih tombol di sebelah kiri nama klaster yang ingin Anda kaitkan dengan grup parameter Anda. Pilih Tindakan, lalu Modifikasi untuk memodifikasi klaster Anda.
-
Di bawah Opsi klaster, pilih grup parameter kustom dari langkah di atas untuk menambahkannya ke klaster Anda.
-
Di bawah Ekspor log, pilih Log profiler untuk dipublikasikan ke Amazon. CloudWatch
-
Pilih Lanjutkan dan lihat ringkasan dari modifikasi Anda.
-
Setelah memverifikasi perubahan Anda, Anda dapat menerapkannya segera atau selama jendela pemeliharaan berikutnya di bawah Penjadwalan modifikasi .
-
Pilih Ubah klaster untuk memperbarui klaster Anda dengan grup parameter baru Anda.
- Using the AWS CLI
-
Prosedur berikut mengaktifkan profiler pada semua operasi yang didukung untuk klaster sample-cluster
.
-
Sebelum Anda mulai, pastikan bahwa Anda memiliki grup parameter klaster kustom yang tersedia dengan menjalankan perintah berikut, dan meninjau output untuk grup parameter klaster yang tidak memiliki default
dalam nama dan memiliki docdb3.6
sebagai keluarga grup parameter. Jika Anda tidak memiliki grup parameter klaster bukan-default, lihat Membuat grup parameter cluster Amazon DocumentDB.
aws docdb describe-db-cluster-parameter-groups \
--query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName,DBParameterGroupFamily]'
Pada output berikut, hanya sample-parameter-group
yang memenuhi kedua kriteria.
[
[
"default.docdb3.6",
"docdb3.6"
],
[
"sample-parameter-group"
,
"docdb3.6"
]
]
-
Dengan menggunakan grup parameter klaster kustom Anda, ubah parameter berikut:
-
profiler
— Mengaktifkan atau menonaktifkan pembuatan profil kueri. Nilai yang diizinkan adalah enabled
dan disabled
. Nilai default-nya adalah disabled
. Untuk mengaktifkan pembuatan profil, atur nilainya ke enabled
.
-
profiler_threshold_ms
— Ketika profiler
diatur keenabled
, semua perintah membutuhkan waktu lebih lama dari profiler
-threshold-ms
yang dicatat CloudWatch. Nilai yang diizinkan adalah [0-INT_MAX]
. Mengatur nilai ini ke profil 0
semua operasi yang didukung. Nilai default-nya adalah 100
.
-
profiler_sampling_rate
— Bagian dari operasi lambat yang harus diprofilkan atau dicatat. Nilai yang diizinkan adalah [0.0-1.0]
. Nilai default-nya adalah 1.0
.
aws docdb modify-db-cluster-parameter-group \
--db-cluster-parameter-group-name sample-parameter-group \
--parameters ParameterName=profiler,ParameterValue=enabled,ApplyMethod=immediate \
ParameterName=profiler_threshold_ms,ParameterValue=100,ApplyMethod=immediate \
ParameterName=profiler_sampling_rate,ParameterValue=0.5,ApplyMethod=immediate
-
Ubah klaster Amazon DocumentDB Anda sehingga menggunakan grup parameter klaster kustom sample-parameter-group
dari langkah sebelumnya dan atur parameter --enable-cloudwatch-logs-exports
ke profiler
.
Kode berikut memodifikasi cluster sample-cluster
untuk menggunakan sample-parameter-group
dari langkah sebelumnya, dan profiler
menambah ekspor CloudWatch Log yang diaktifkan.
aws docdb modify-db-cluster \
--db-cluster-identifier sample-cluster \
--db-cluster-parameter-group-name sample-parameter-group \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["profiler"]}'
Output dari operasi ini akan terlihat seperti berikut.
{
"DBCluster": {
"AvailabilityZones": [
"us-east-1c",
"us-east-1b",
"us-east-1a"
],
"BackupRetentionPeriod": 1,
"DBClusterIdentifier": "sample-cluster",
"DBClusterParameterGroup": "sample-parameter-group",
"DBSubnetGroup": "default",
"Status": "available",
"EarliestRestorableTime": "2020-04-07T02:05:12.479Z",
"Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
"ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
"MultiAZ": false,
"Engine": "docdb",
"EngineVersion": "3.6.0",
"LatestRestorableTime": "2020-04-08T22:08:59.317Z",
"Port": 27017,
"MasterUsername": "test",
"PreferredBackupWindow": "02:00-02:30",
"PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
"DBClusterMembers": [
{
"DBInstanceIdentifier": "sample-instance-1",
"IsClusterWriter": true,
"DBClusterParameterGroupStatus": "in-sync",
"PromotionTier": 1
},
{
"DBInstanceIdentifier": "sample-instance-2",
"IsClusterWriter": true,
"DBClusterParameterGroupStatus": "in-sync",
"PromotionTier": 1
}
],
"VpcSecurityGroups": [
{
"VpcSecurityGroupId": "sg-abcd0123",
"Status": "active"
}
],
"HostedZoneId": "ABCDEFGHIJKLM",
"StorageEncrypted": true,
"KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
"DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
"AssociatedRoles": [],
"ClusterCreateTime": "2020-01-10T22:13:38.261Z",
"EnabledCloudwatchLogsExports": [
"profiler"
],
"DeletionProtection": true
}
}
Menonaktifkan profiler Amazon DocumentDB
Untuk menonaktifkan profiler, Anda menonaktifkan profiler
parameter dan ekspor profiler
log ke CloudWatch Log.
Menonaktifkan Profiler
Anda dapat menonaktifkan profiler
parameter menggunakan AWS Management Console atau AWS CLI, sebagai berikut.
- Using the AWS Management Console
-
Prosedur berikut menggunakan AWS Management Console untuk menonaktifkan Amazon profiler
DocumentDB.
- Using the AWS CLI
-
Untuk menonaktifkan profiler
pada klaster menggunakan AWS CLI, modifikasi klaster sebagai berikut.
aws docdb modify-db-cluster-parameter-group \
--db-cluster-parameter-group-name sample-parameter-group \
--parameters ParameterName=profiler,ParameterValue=disabled,ApplyMethod=immediate
Menonaktifkan ekspor log profiler
Anda dapat menonaktifkan mengekspor profiler
CloudWatch log ke Log dengan menggunakan salah satu AWS Management Console atau AWS CLI, sebagai berikut.
- Using the AWS Management Console
-
Prosedur berikut menggunakan AWS Management Console untuk menonaktifkan Amazon DocumentDB mengekspor log ke. CloudWatch
-
Buka konsol Amazon DocumentDB di https://console.aws.amazon.com/docdb.
-
Pada panel navigasi, silakan pilih Klaster. Pilih tombol di sebelah kiri nama klaster yang log ekspornya ingin Anda nonaktifkan.
-
Pada menu Tindakan, pilih Modifikasi.
-
Gulir ke bawah ke bagian Ekspor log dan batalkan pilihan Log profiler.
-
Pilih Lanjutkan.
-
Tinjau perubahan Anda, lalu pilih kapan Anda ingin perubahan ini diterapkan ke klaster Anda:
-
Pilih Ubah klaster.
- Using the AWS CLI
-
Kode berikut memodifikasi cluster sample-cluster
dan menonaktifkan log CloudWatch profiler.
Untuk Linux, macOS, atau Unix:
aws docdb modify-db-cluster \
--db-cluster-identifier sample-cluster \
--cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
Untuk Windows:
aws docdb modify-db-cluster ^
--db-cluster-identifier sample-cluster ^
--cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
Output dari operasi ini terlihat seperti berikut.
{
"DBCluster": {
"AvailabilityZones": [
"us-east-1c",
"us-east-1b",
"us-east-1a"
],
"BackupRetentionPeriod": 1,
"DBClusterIdentifier": "sample-cluster",
"DBClusterParameterGroup": "sample-parameter-group",
"DBSubnetGroup": "default",
"Status": "available",
"EarliestRestorableTime": "2020-04-08T02:05:17.266Z",
"Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
"ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
"MultiAZ": false,
"Engine": "docdb",
"EngineVersion": "3.6.0",
"LatestRestorableTime": "2020-04-09T05:14:44.356Z",
"Port": 27017,
"MasterUsername": "test",
"PreferredBackupWindow": "02:00-02:30",
"PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
"DBClusterMembers": [
{
"DBInstanceIdentifier": "sample-instance-1",
"IsClusterWriter": true,
"DBClusterParameterGroupStatus": "in-sync",
"PromotionTier": 1
},
{
"DBInstanceIdentifier": "sample-instance-2",
"IsClusterWriter": true,
"DBClusterParameterGroupStatus": "in-sync",
"PromotionTier": 1
}
],
"VpcSecurityGroups": [
{
"VpcSecurityGroupId": "sg-abcd0123",
"Status": "active"
}
],
"HostedZoneId": "ABCDEFGHIJKLM",
"StorageEncrypted": true,
"KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
"DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
"AssociatedRoles": [],
"ClusterCreateTime": "2020-01-10T22:13:38.261Z",
"DeletionProtection": true
}
}
Mengakses log profiler Amazon DocumentDB
Ikuti langkah-langkah ini untuk mengakses log profil Anda di Amazon CloudWatch.
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.
-
Pastikan Anda berada di Wilayah yang sama dengan klaster Amazon DocumentDB Anda.
-
Pilih Log di panel navigasi.
-
Untuk menemukan log profiler untuk klaster Anda, dalam daftar, pilih /aws/docdb/yourClusterName
/profiler
.
Log profil untuk setiap instans Anda tersedia di bawah setiap nama instans masing-masing.
Pertanyaan umum
Berikut ini adalah beberapa kueri umum yang dapat Anda gunakan untuk menganalisis perintah yang diprofilkan. Untuk informasi selengkapnya tentang Wawasan CloudWatch Log, lihat Menganalisis Data Log dengan Wawasan CloudWatch Log dan Kueri Contoh.
Dapatkan 10 operasi paling lambat pada koleksi tertentu
filter ns="test.foo" | sort millis desc | limit 10
Dapatkan semua operasi pembaruan pada koleksi yang memakan waktu lebih dari 60 ms
filter millis > 60 and op = "update"
Dapatkan 10 operasi paling lambat dalam sebulan terakhir
sort millis desc | limit 10
Dapatkan semua pertanyaan dengan ringkasan COLLSCAN rencana
filter planSummary="COLLSCAN"