

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memantau cache write-through dan slot logis untuk replikasi logis Aurora PostgreSQL
<a name="AuroraPostgreSQL.Replication.Logical-monitoring"></a>

Pantau cache penulisan replikasi logis dan kelola slot logis untuk meningkatkan kinerja klaster Aurora PostgreSQL DB Anda. Berikut, temukan informasi lebih lanjut tentang cache tulis dan slot logis.

**Topics**
+ [Memantau cache tulis-melalui replikasi logis Aurora PostgreSQL](#AuroraPostgreSQL.Replication.Logical-write-through-cache)
+ [Mengelola slot logis untuk Aurora PostgreSQL](#AuroraPostgreSQL.Replication.Logical.Configure.managing-logical-slots)

## Memantau cache tulis-melalui replikasi logis Aurora PostgreSQL
<a name="AuroraPostgreSQL.Replication.Logical-write-through-cache"></a>

Secara default, Aurora PostgreSQL versi 14.5, 13.8, 12.12, dan 11.17 serta yang lebih tinggi menggunakan cache write-through untuk meningkatkan performa replikasi logis. Tanpa cache write-through, Aurora PostgreSQL menggunakan lapisan penyimpanan Aurora dalam implementasi proses replikasi logis PostgreSQL asli. Aurora PostgreSQL melakukannya dengan menulis data WAL ke penyimpanan dan kemudian membaca data kembali dari penyimpanan untuk memecahkan kode dan mengirim (mereplikasi) ke targetnya (pelanggan). Hal ini dapat mengakibatkan kemacetan selama replikasi logis untuk klaster DB Aurora PostgreSQL. 

Cache write-through meminimalkan ketergantungan pada lapisan penyimpanan Aurora. Alih-alih secara konsisten menulis ke dan membaca dari lapisan ini, Aurora PostgreSQL menggunakan buffer untuk menyimpan aliran WAL logis untuk digunakan selama proses replikasi, mengurangi kebutuhan untuk mengakses disk. Buffer ini adalah cache PostgreSQL asli yang digunakan dalam replikasi logis dan diidentifikasi dalam parameter cluster Aurora PostgreSQL DB sebagai. `rds.logical_wal_cache`

Saat Anda menggunakan replikasi logis dengan klaster DB Aurora PostgreSQL Anda (untuk versi yang mendukung cache write-through), Anda dapat memantau rasio hit cache untuk melihat seberapa baik kerjanya untuk kasus penggunaan. Untuk melakukannya, hubungkan ke instans tulis klaster DB Aurora PostgreSQL Anda menggunakan `psql`, lalu gunakan fungsi Aurora `aurora_stat_logical_wal_cache` seperti yang ditunjukkan pada contoh berikut.

```
SELECT * FROM aurora_stat_logical_wal_cache();
```

Fungsi mengembalikan output seperti berikut ini.

```
name       | active_pid | cache_hit | cache_miss | blks_read | hit_rate | last_reset_timestamp
-----------+------------+-----------+------------+-----------+----------+--------------
test_slot1 | 79183      | 24        | 0          | 24        | 100.00%  | 2022-08-05 17:39...
test_slot2 |            | 1         | 0          |  1        | 100.00%  | 2022-08-05 17:34...
(2 rows)
```

Nilai-nilai `last_reset_timestamp` telah dipersingkat untuk keterbacaan. Untuk informasi selengkapnya tentang fungsi ini, lihat [aurora\_stat\_logical\_wal\_cache](aurora_stat_logical_wal_cache.md).

Aurora PostgreSQL menyediakan dua fungsi berikut untuk memantau cache write-through. 
+ Fungsi `aurora_stat_logical_wal_cache` – Untuk dokumentasi referensi, lihat [aurora\_stat\_logical\_wal\_cache](aurora_stat_logical_wal_cache.md).
+ Fungsi `aurora_stat_reset_wal_cache` – Untuk dokumentasi referensi, lihat [aurora\_stat\_reset\_wal\_cache](aurora_stat_reset_wal_cache.md).

Jika Anda menemukan bahwa ukuran cache WAL yang disesuaikan secara otomatis tidak cukup untuk beban kerja Anda, Anda dapat mengubah nilai secara `rds.logical_wal_cache` manual. Pertimbangkan hal berikut:
+ Ketika `rds.logical_replication` parameter dinonaktifkan, `rds.logical_wal_cache` diatur ke nol (0).
+ Ketika `rds.logical_replication` parameter diaktifkan, `rds.logical_wal_cache` memiliki nilai default 16 MB.
+ `rds.logical_wal_cache`Parameternya statis dan memerlukan reboot instance database agar perubahan diterapkan. Parameter ini didefinisikan dalam hal blok 8 Kb. Perhatikan bahwa setiap nilai positif kurang dari 32 Kb diperlakukan sebagai 32 Kb. Untuk informasi selengkapnya, `wal_buffers` lihat [Menulis Ahead Log](https://www.postgresql.org/docs/current/runtime-config-wal.html#RUNTIME-CONFIG-WAL-SETTINGS) di dokumentasi PostgreSQL. 

## Mengelola slot logis untuk Aurora PostgreSQL
<a name="AuroraPostgreSQL.Replication.Logical.Configure.managing-logical-slots"></a>

Aktivitas streaming ditangkap dalam tampilan `pg_replication_origin_status`. Untuk melihat konten tampilan ini, Anda dapat menggunakan fungsi `pg_show_replication_origin_status()`, seperti yang ditunjukkan berikut:

```
SELECT * FROM pg_show_replication_origin_status();
```

Anda bisa mendapatkan daftar slot logis Anda dengan menggunakan kueri SQL berikut.

```
SELECT * FROM pg_replication_slots;
```

Untuk meletakkan slot logis, gunakan `pg_drop_replication_slot` dengan nama slot, seperti yang ditunjukkan dalam perintah berikut.

```
SELECT pg_drop_replication_slot('test_slot');
```