Apache Optimasi untuk VPS Low End di Ubuntu 14.04

Apache sangat mudah untuk diinstal dan diinisialisasi, tetapi ia dilengkapi dengan banyak modul pra-instal dan sebagai hasilnya Anda mungkin memiliki masalah kinerja saat dijalankan pada VPS RAM yang rendah.

Jadi, tidak selalu perlu untuk server yang lebih besar, tetapi Anda dapat mengkonfigurasi pengaturan Apache dengan cara yang benar dan memiliki kinerja terbaik. Berikut adalah beberapa hal yang harus Anda lakukan untuk mencapai itu.

Tutorial ini untuk Ubuntu 14.04 LTS tetapi prinsipnya juga mirip dengan versi sebelumnya.


1. Nonaktifkan modul Apache

Anda dapat melihat daftar semua modul yang diinstal dengan perintah ls /etc/apache2/mods-available/dan semua modul yang saat ini aktif ls /etc/apache2/mods-enabled/.

Pada instalasi Apache awal ada 15 modul atau lebih diaktifkan secara default. Ini terlalu banyak dan kebanyakan tidak diperlukan.

Pertama-tama, Anda harus membuat daftar semua modul yang aktif dan menyimpannya untuk referensi di masa depan jika Anda menonaktifkan sesuatu yang diperlukan dan Anda harus mengaktifkannya kembali. Kemudian cukup nonaktifkan modul satu-per-satu dengan perintah (menggunakan moduleName sebagai contoh):

sudo a2dismod moduleName

... dan mulai ulang Apache setelah setiap perubahan untuk melihat apakah ada kesalahan.

Beberapa modul yang harus Anda nonaktifkan jika Anda tidak membutuhkannya adalah:

  • PHP
  • SSL
  • Menulis kembali
  • Perl
  • Python

Setelah Anda menonaktifkan modul dan memuat kembali konfigurasi Apache, Anda dapat memeriksa kesalahan dengan membuka log kesalahan Apache dengan editor teks seperti nano.

sudo nano /var/log/apache2/error.log

Jika Anda mendapatkan kesalahan, aktifkan kembali modul yang sesuai dengan:

sudo a2enmod moduleName

Kemudian, restart Apache lagi sampai Anda mendapatkan daftar minimum diurutkan!


2. Siapkan mpm_prefork

Dengan konfigurasi Apache default (yang tidak seimbang dengan server kecil), memori dapat cepat habis dan server cloud Anda menjadi kelebihan beban. Ini akan menyebabkan halaman web menggantung dalam keadaan pemuatan yang konstan. Kemungkinan server akan membuat proses-proses Apache yang mati ini tetap aktif, berusaha untuk menyajikan konten yang tidak perlu, mengurangi jumlah proses yang tersedia untuk dilayani.

Untuk mengatasi masalah ini, pertama-tama Anda harus mengetahui berapa banyak RAM yang dibutuhkan server Anda selain dari Apache dan jumlah rata-rata memori yang digunakan proses Apache.

Ketika Apache sedang berjalan, buka perintah teratas di server.

top -bn 1

Di tabel hasil:

  • tambahkan angka pada kolom RES ke atas untuk setiap proses, kecuali apache2 dan kemudian lepaskan dari jumlah total RAM. Katakanlah Anda mendapat 600 MB .
  • dapatkan rata-rata dari semua proses apache2 . Katakanlah dapatkan 20 MB .
  • kemudian, lakukan saja pembagian 600/20 = 30 proses Apache maksimum

Langkah selanjutnya, edit file konfigurasi modul mpm_prefork:

sudo nano /etc/apache2/mods-enabled/mpm_prefork.conf

Ini mungkin terlihat seperti ini:

<IfModule mpm_prefork_module>
    StartServers             2
    MinSpareServers          2
    MaxSpareServers          5
    MaxRequestWorkers        30
    MaxConnectionsPerChild   0
</IfModule>

Dimana:

  • StartServers: jumlah proses server untuk memulai.
  • MinSpareServers: jumlah minimum proses server yang disimpan cadangan.
  • MaxSpareServers: jumlah maksimum proses server yang disimpan cadangan.
  • MaxRequestWorkers: jumlah maksimum proses server yang diizinkan untuk memulai.
  • MaxConnectionsPerChild: jumlah maksimum permintaan yang dilayani oleh proses server.

Di pengaturan MaxRequestWorkers , Anda harus mengubahnya ke apa pun yang Anda temukan di divisi di atas.

Sekarang, jika VPS Anda kelebihan beban dan mencapai jumlah maksimum klien yang dapat dilayani sekaligus, itu akan melayani mereka dan pengguna lain hanya akan mendapatkan kegagalan cepat. Mereka kemudian dapat memuat ulang halaman untuk mencoba lagi. Jauh lebih baik untuk menutup koneksi ini dengan cepat tetapi meninggalkan server dalam keadaan sehat daripada tidak terbuka selamanya.


3. Kurangi log Anda

Untuk memaksimalkan kinerja, Anda pasti dapat mencatat lebih sedikit informasi. Dalam konfigurasi Apache default pengaturan LogLevel diatur untuk memperingatkan . Anda dapat mengubahnya menjadi kesalahan untuk menyimpan hanya pesan kesalahan.

Buka file konfigurasi Apache:

sudo nano /etc/apache2/apache2.conf

Temukan garis:

LogLevel warn

... dan ubah ke:

LogLevel error

Kemudian, simpan file dan mulai ulang Apache dengan:

sudo service apache2 restart

File default yang disimpan oleh Apache adalah /var/log/apache2/error.log .


4. Pertimbangkan untuk mengganti mod_php

Jika Anda menjalankan situs PHP, ada kemungkinan besar Anda menggunakan modul mod_php. Modul ini dapat menyebabkan setiap proses anak Apache menggunakan lebih dari 100 MB RAM bahkan jika permintaan untuk sumber daya statis seperti gambar, css dan javascript.

Alternatif yang bagus adalah modul php-fpm , yang merupakan proses terpisah yang menggunakan protokol fastcgi. Dengan php-fpm, memori untuk proses Apache dapat turun hingga 10 MB untuk konten statis dan 60 MB untuk dinamis.

Meskipun mungkin sedikit sulit untuk menyelesaikan perubahan ini, ada baiknya upaya ini dilakukan.


5. Pertimbangkan untuk mengganti mpm_prefork

Sebagian besar konfigurasi Apache menggunakan modul mpm_prefork yang aman untuk thread dan menggunakan beberapa proses anak dengan masing-masing utas dan setiap proses menangani satu koneksi pada satu waktu. Jika Anda tidak memerlukan modul eksternal seperti PHP atau Rails maka Anda dapat menggantinya dengan modul apache2-mpm-worker , yang seringkali lebih cepat. MPM pekerja menggunakan beberapa proses anak dengan banyak utas masing-masing dan setiap utas menangani satu koneksi pada satu waktu.

Untuk mengaktifkan modul pekerja, Anda harus menginstalnya.

sudo apt-get install apache2-mpm-worker

Perintah ini akan menghapus instalan mpm_prefork , mos_php dan modul tambahan lainnya yang tidak kompatibel.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut