View a markdown version of this page

Kiat dan praktik terbaik untuk WordPress instance di Amazon Lightsail - Amazon Lightsail

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

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

Tetap WordPress, tema, dan plugin diperbarui

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

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.

Pemantauan dan pemecahan masalah

Bagaimana saya tahu jika instance saya kehabisan memori?

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 bawahMem:. 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 ataumysqld, database Anda sedang dihentikan di bawah tekanan memori, dan langkah-langkah dalam Meningkatkan kinerja memori akan membantu.

Apakah instance saya sudah memiliki penyetelan memori otomatis?

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.

Optimalkan performa

Pilih bundel yang tepat untuk beban kerja Anda

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.

Meningkatkan kinerja memori

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 untuk detail selengkapnya.

penting

Langkah-langkah ini memerlukan koneksi ke instans Anda melalui SSH dan menjalankan perintah dengansudo. 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 instance Linux atau Unix Anda.

Langkah 1: Tambahkan file swap

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

innodb_buffer_pool_sizeadalah 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, 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

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

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.

Gunakan caching untuk mengurangi beban

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) 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 oleh instans Anda.