

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

# Kiat dan praktik terbaik untuk WordPress instance di Amazon Lightsail
<a name="amazon-lightsail-wordpress-tips-best-practices"></a>

Panduan ini mengumpulkan tips praktis untuk menjaga WordPress instance di Amazon Lightsail cepat, stabil, dan aman.

## Jaga agar situs Anda tetap aman dan up to date
<a name="wordpress-keep-secure-and-updated"></a>

### Tetap WordPress, tema, dan plugin diperbarui
<a name="wordpress-keep-updated"></a>
+ Terapkan pembaruan WordPress inti, tema, dan plugin segera. Pembaruan sering kali mencakup perbaikan kinerja dan keamanan. Untuk informasi selengkapnya, lihat [Menjaga instance dan container Lightsail](amazon-lightsail-update-management.md) tetap aman dengan manajemen pembaruan.
+ Hapus plugin dan tema yang tidak Anda gunakan. Plugin yang tidak aktif masih menambahkan overhead pemeliharaan dan permukaan keamanan, dan plugin yang ditulis dengan buruk sering menjadi penyebab penggunaan memori yang tinggi.
+ Uji pembaruan besar pada salinan instans yang diluncurkan snapshot sebelum menerapkannya ke situs langsung Anda.

### Cadangkan sebelum Anda membuat perubahan
<a name="wordpress-back-up-before-changes"></a>

Sebelum mengedit file konfigurasi atau menginstal plugin, ambil snapshot instance Anda sehingga Anda dapat dengan mudah memulihkan aplikasi Anda dari snapshot jika terjadi kesalahan:
+ Buat snapshot manual dari konsol Lightsail, atau
+ Aktifkan snapshot otomatis.

[Untuk petunjuk, lihat [Mencadangkan instance Linux/Unix Lightsail dengan snapshot dan Mengonfigurasi snapshot otomatis](lightsail-how-to-create-a-snapshot-of-your-instance.md).](amazon-lightsail-configuring-automatic-snapshots.md)

## Pemantauan dan pemecahan masalah
<a name="wordpress-monitoring-and-troubleshooting"></a>

### Bagaimana saya tahu jika instance saya kehabisan memori?
<a name="wordpress-detect-out-of-memory"></a>

Gejala umum meliputi:
+ Situs Anda menampilkan **“Kesalahan membangun koneksi database”** (di situs publik dan panel admin). Ini biasanya berarti MariaDB telah berhenti.
+ Situs dimuat perlahan atau habis waktu di bawah lalu lintas sederhana.

Untuk mengonfirmasi, sambungkan ke instans Anda melalui SSH dan periksa penggunaan memori saat ini:

```
free -m
```

Lihatlah `available` kolom di bawah`Mem:`. Ini adalah berapa banyak memori yang masih dapat digunakan instance Anda. Jika `available` di bawah **50 MB**, instans Anda berada di bawah tekanan memori yang berat dan berisiko mengalami OOM-killing proses.

Anda juga dapat memeriksa apakah kernel telah menghentikan proses karena kehabisan memori (“OOM kill”):

```
sudo dmesg | grep -i "out of memory"
```

Jika Anda melihat entri yang menyebutkan `mariadbd` atau`mysqld`, database Anda sedang dihentikan di bawah tekanan memori, dan langkah-langkah dalam [Meningkatkan kinerja memori](#wordpress-improve-memory-performance) akan membantu.

### Apakah instance saya sudah memiliki penyetelan memori otomatis?
<a name="wordpress-automatic-memory-tuning"></a>

Cetak biru WordPress Lightsail yang lebih baru mencakup layanan yang mendeteksi ukuran memori instans dan menerapkan swap, MariaDB, Apache/PHP dan pengaturan yang dijelaskan dalam panduan ini secara otomatis setiap kali instance dimulai, termasuk setelah Anda memulai atau mem-boot ulang. Untuk memeriksa apakah instans Anda memilikinya, sambungkan melalui SSH dan jalankan:

```
systemctl status lightsail-memory-config
```

Jika layanan ada, instans Anda sudah mengelola pengaturan ini secara otomatis dan Anda tidak perlu menerapkannya secara manual. Jika perintah melaporkan bahwa unit tidak dapat ditemukan, ikuti langkah-langkah dalam [Meningkatkan kinerja memori](#wordpress-improve-memory-performance).

## Optimalkan performa
<a name="wordpress-optimize-performance"></a>

### Pilih bundel yang tepat untuk beban kerja Anda
<a name="wordpress-choose-bundle"></a>

Cara paling efektif untuk meningkatkan WordPress kinerja adalah dengan menjalankan bundel instance dengan memori yang cukup untuk beban kerja Anda. WordPress itu sendiri ringan; namun plugin, tema, dan database dapat mengkonsumsi memori yang signifikan.
+ **512 MB - 1 GB RAM (Lightsail nano dan micro instance bundle)**: Cocokkan untuk blog kecil dan situs dengan lalu lintas rendah dengan set plugin minimal. Contoh-contoh ini adalah yang paling mungkin mengalami tekanan memori, dan paling diuntungkan dari penyetelan di bawah ini.
+ **2 GB RAM dan lebih tinggi:** Direkomendasikan jika Anda menjalankan pembuat halaman (seperti Elementor atau Divi), WooCommerce, atau banyak plugin aktif.

Saat situs Anda tumbuh dan membutuhkan lebih banyak sumber daya, Anda dapat meningkatkan ke bundel yang lebih besar [dengan membuat snapshot dan meluncurkan instance baru yang lebih besar darinya](how-to-create-larger-instance-from-snapshot-using-console.md).

### Meningkatkan kinerja memori
<a name="wordpress-improve-memory-performance"></a>

**catatan**  
Cetak biru WordPress Lightsail yang lebih baru menerapkan penyetelan memori sadar ukuran secara otomatis setiap kali instance dimulai, jadi sebagian besar langkah manual di bagian ini ditangani untuk Anda jika Anda membuat instance Lightsail baru. WordPress

Jika situs Anda menampilkan “Kesalahan membangun koneksi database” ketika Anda (atau pengunjung Anda) mencoba memuat halaman, atau Anda melihat pesan log yang menunjukkan MariaDB dimatikan karena kehabisan memori (`Out of memory: Killed process ... (mariadbd)`seperti di log sistem), instance Anda kemungkinan besar kehabisan memori. Pada instance yang lebih kecil, kernel Linux dapat menghentikan proses database MariaDB (“OOM kill”) ketika memori habis.

Tiga langkah di bawah ini mengurangi tekanan memori dengan menambahkan ruang swap dan membatasi berapa banyak memori database dan server web diizinkan untuk digunakan. Setiap langkah membantu sendiri, sehingga Anda hanya dapat menerapkan yang Anda butuhkan, atau ketiganya untuk efek terbesar. Sebelum memulai, pastikan Anda memiliki snapshot terbaru dari instans Anda. Lihat [Cadangkan sebelum Anda membuat perubahan](#wordpress-back-up-before-changes) untuk detail selengkapnya.

**penting**  
Langkah-langkah ini memerlukan koneksi ke instans Anda melalui SSH dan menjalankan perintah dengan`sudo`. Memulai ulang database dan server web secara singkat mengganggu situs Anda (beberapa detik); oleh karena itu buat perubahan selama jendela lalu lintas rendah.

Untuk terhubung ke instans Anda, gunakan klien SSH berbasis browser di konsol Lightsail, atau lihat [Connect ke](lightsail-how-to-connect-to-your-instance-virtual-private-server.md) instance Linux atau Unix Anda.

#### Langkah 1: Tambahkan file swap
<a name="wordpress-add-swap-file"></a>

File swap memberi ruang sistem operasi untuk membongkar memori yang tidak aktif ke disk, yang membantu mencegah crash di luar memori pada instance dengan RAM kurang dari sekitar 1,5 GB. Kami merekomendasikan menambahkan swap pada bundel nano atau mikro, dan biasanya tidak diperlukan pada yang lebih besar.

Pertama, periksa apakah swap sudah aktif:

```
cat /proc/swaps
```

Jika satu-satunya baris yang dicetak adalah header (tidak ada entri swap yang terdaftar), tidak ada swap yang dikonfigurasi:

```
Filename                Type        Size       Used    Priority
```

Buat file swap 650 MB:

```
sudo dd if=/dev/zero of=/mnt/.lightsail.swap bs=1K count=665600 status=progress
sudo chmod 600 /mnt/.lightsail.swap
sudo mkswap /mnt/.lightsail.swap
sudo swapon /mnt/.lightsail.swap
```

Untuk membuat file swap tetap ada di reboot, tambahkan ke: `/etc/fstab`

```
echo '/mnt/.lightsail.swap none swap sw 0 0' | sudo tee -a /etc/fstab
```

Konfirmasikan swap sekarang aktif:

```
cat /proc/swaps
```

File swap sekarang muncul di output:

```
Filename                Type        Size       Used    Priority
/mnt/.lightsail.swap    file        665596     0       -2
```

#### Langkah 2: Tune database MariaDB
<a name="wordpress-tune-mariadb"></a>

`innodb_buffer_pool_size`adalah konsumen memori tunggal terbesar di MariaDB. Jika ukuran kumpulan default terlalu besar dibandingkan dengan memori instance, itu dapat menyebabkan kerusakan di luar memori.

Temukan yang direkomendasikan `innodb_buffer_pool_size` untuk instance Anda dari [tabel konfigurasi yang direkomendasikan](#wordpress-recommended-memory-values), lalu buat file konfigurasi khusus dengan nilai itu (ganti `16M` contoh dengan nilai Anda):

```
sudo tee /etc/mysql/mariadb.conf.d/90-lightsail-memory.cnf > /dev/null <<'EOF'
[mysqld]
innodb_buffer_pool_size = 16M
EOF
```

Untuk menjalankan perubahan, jalankan perintah berikut yang memulai ulang database:

```
sudo systemctl restart mariadb
```

#### Langkah 3: Tune Apache dan PHP
<a name="wordpress-tune-apache-php"></a>

Apache adalah server web yang menangani permintaan masuk ke situs Anda WordPress . Secara default, ini memungkinkan hingga 150 proses pekerja simultan (`MaxRequestWorkers`). Pada contoh kecil, setiap pekerja PHP dapat menggunakan puluhan megabyte, yang dapat menghabiskan memori di bawah beban. Untuk membatasi jumlah pekerja agar sesuai dengan instans Anda, dan mengikat berapa banyak memori yang dapat digunakan oleh satu permintaan PHP, tetapkan `mpm_prefork` batas Apache (nilai yang ditampilkan adalah untuk instance mikro; periksa [tabel konfigurasi yang disarankan](#wordpress-recommended-memory-values) untuk instance Anda):

```
sudo tee /etc/apache2/mods-available/mpm_prefork.conf > /dev/null <<'EOF'
<IfModule mpm_prefork_module>
    StartServers            1
    MinSpareServers         1
    MaxSpareServers         3
    MaxRequestWorkers       5
    MaxConnectionsPerChild  5000
</IfModule>
EOF
```

Atur PHP `memory_limit` (512 MB adalah batas atas yang aman untuk semua ukuran). Pertama mendeteksi versi PHP Anda, lalu tulis file konfigurasi:

```
PHP_VERSION=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')
sudo mkdir -p /etc/php/${PHP_VERSION}/apache2/conf.d
sudo tee /etc/php/${PHP_VERSION}/apache2/conf.d/90-lightsail-memory.ini > /dev/null <<'EOF'
memory_limit = 512M
EOF
```

Terapkan kedua perubahan dengan memulai ulang Apache:

```
sudo systemctl restart apache2
```

#### Nilai yang direkomendasikan oleh memori instance
<a name="wordpress-recommended-memory-values"></a>

Gunakan nilai di bawah ini berdasarkan total RAM instans Anda. Untuk memeriksa memori instans Anda, jalankan `free -m` dan lihat `total` kolom, atau lihat ukuran bundel Anda di konsol Lightsail.


**Konfigurasi memori yang disarankan oleh RAM instance**  

|  Memori instans (RAM)  |  MariaDB `innodb_buffer_pool_size`  |  Apache `MaxRequestWorkers`  |  PHP `memory_limit`  |  Bertukar berkas  | 
| --- | --- | --- | --- | --- | 
| Hingga \~ 1,5 GB | 16M | 5 | 512M | Ya (650 MB) | 
| \~ 1,5—3 GB | 256M | 10 | 512M | Tidak | 
| \~ 3—6 GB | 256M | 25 | 512M | Tidak | 
| \~ 6—13 GB | 2048M | 50 | 512M | Tidak | 
| \~ 13—26 GB | 2048M | 125 | 512M | Tidak | 
| Lebih dari \~ 26 GB | 4096M | 250 | 512M | Tidak | 

### Gunakan caching untuk mengurangi beban
<a name="wordpress-use-caching"></a>

Caching mengurangi seberapa sering WordPress kueri database dan menjalankan PHP, yang menurunkan penggunaan CPU dan memori:
+ **Caching halaman:** Instal plugin caching seperti W3 Total Cache atau WP Super Cache untuk menyajikan salinan statis halaman Anda.
+ **Caching objek:** Jika situs Anda memiliki banyak pengguna yang masuk, menjalankan WooCommerce, atau menggunakan konten dinamis yang sering berubah (seperti forum atau area keanggotaan), plugin cache objek (seperti [Redis Object APCu-based Cache atau cache](https://wordpress.org/plugins/redis-cache/)) menyimpan hasil kueri yang sering digunakan dalam memori dan mengurangi pencarian database berulang.
+ **Jaringan pengiriman konten (CDN):** Bongkar aset statis (gambar, CSS, JavaScript) ke CDN seperti [Distribusi Lightsail sehingga tidak dilayani](amazon-lightsail-creating-content-delivery-network-distribution.md) oleh instans Anda.