Membuat profil operasi Amazon DocumentDB - Amazon DocumentDB

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:

  • aggregate

  • count

  • delete

  • distinct

  • find(OP_ QUERY dan perintah)

  • findAndModify

  • insert

  • update

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
  1. 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.

  2. 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.

  3. 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
  1. 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.

  2. 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.

  3. Ubah klaster Anda untuk menggunakan grup parameter klaster kustom dan setel ekspor log profiler untuk dipublikasikan ke Amazon. CloudWatch

    1. Di panel navigasi, pilih Klaster untuk menambahkan grup parameter kustom Anda ke sebuah klaster.

    2. Pilih tombol di sebelah kiri nama klaster yang ingin Anda kaitkan dengan grup parameter Anda. Pilih Tindakan, lalu Modifikasi untuk memodifikasi klaster Anda.

    3. Di bawah Opsi klaster, pilih grup parameter kustom dari langkah di atas untuk menambahkannya ke klaster Anda.

    4. Di bawah Ekspor log, pilih Log profiler untuk dipublikasikan ke Amazon. CloudWatch

    5. Pilih Lanjutkan dan lihat ringkasan dari modifikasi Anda.

    6. Setelah memverifikasi perubahan Anda, Anda dapat menerapkannya segera atau selama jendela pemeliharaan berikutnya di bawah Penjadwalan modifikasi .

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

  1. 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" ] ]
  2. 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
  3. 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.

  1. Masuk ke AWS Management Console, dan buka konsol Amazon DocumentDB di https://console.aws.amazon.com/docdb.

  2. Di panel navigasi, pilih Grup parameter. Kemudian pilih nama grup parameter klaster yang ingin Anda nonaktifkan profilernya.

  3. Di halaman Parameter klaster yang dihasilkan, pilih tombol di sebelah kiri parameter profiler dan pilih Edit.

  4. Di kotak dialog Ubah profiler, pilih disabled di dalam daftar.

  5. Pilih Ubah parameter klaster.

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

  1. Buka konsol Amazon DocumentDB di https://console.aws.amazon.com/docdb.

  2. Pada panel navigasi, silakan pilih Klaster. Pilih tombol di sebelah kiri nama klaster yang log ekspornya ingin Anda nonaktifkan.

  3. Pada menu Tindakan, pilih Modifikasi.

  4. Gulir ke bawah ke bagian Ekspor log dan batalkan pilihan Log profiler.

  5. Pilih Lanjutkan.

  6. Tinjau perubahan Anda, lalu pilih kapan Anda ingin perubahan ini diterapkan ke klaster Anda:

    • Terapkan selama jendela pemeliharaan terjadwal berikutnya

    • Terapkan segera

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

  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Pastikan Anda berada di Wilayah yang sama dengan klaster Amazon DocumentDB Anda.

  3. Pilih Log di panel navigasi.

  4. 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"