Ubuntu 14.04te Düşük Uç VPS için Apache Optimizasyonu

Apache'nin kurulumu ve başlatılması çok kolaydır, ancak önceden kurulmuş çok sayıda modülle birlikte gelir ve sonuç olarak düşük RAM VPS'de çalışırken performans sorunlarınız olabilir.

Bu nedenle, her zaman daha büyük bir sunucuya ihtiyaç yoktur, ancak Apache ayarlarını doğru şekilde yapılandırabilir ve mümkün olan en iyi performansa sahip olabilirsiniz. İşte bunu başarmak için yapmanız gereken birkaç şey.

Bu eğitim Ubuntu 14.04 LTS içindir ancak ilkeler önceki sürümlere de benzer.


1. Apache modüllerini devre dışı bırakın

Komut ile yüklenen ls /etc/apache2/mods-available/tüm modüllerin ve şu anda etkin olan tüm modüllerin bir listesini görebilirsiniz ls /etc/apache2/mods-enabled/.

İlk Apache kurulumunda varsayılan olarak etkin 15 veya daha fazla modül vardır. Bunlar çok fazla ve çoğuna gerek yok.

Her şeyden önce, gerekli olan bir şeyi devre dışı bırakmanız ve yeniden etkinleştirmeniz gerekiyorsa, şu anda etkin olan tüm modüllerin bir listesini yapmalı ve ileride başvurmak üzere kaydetmelisiniz. Daha sonra komutla modülleri tek tek devre dışı bırakın (örnek olarak moduleName'i kullanarak):

sudo a2dismod moduleName

... ve herhangi bir hata olup olmadığını görmek için her değişiklikten sonra Apache'yi yeniden başlatın.

İhtiyacınız yoksa devre dışı bırakmanız gereken bazı modüller şunlardır:

  • PHP
  • SSL
  • Yeniden yazmak
  • Perl
  • piton

Bir modülü devre dışı bırakıp Apache yapılandırmasını yeniden yükledikten sonra, Apache hata günlüğünü nano gibi bir metin düzenleyicisiyle açarak hataları kontrol edebilirsiniz.

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

Bir hata alırsanız, ilgili modülü yeniden etkinleştirmeniz yeterlidir:

sudo a2enmod moduleName

Ardından, minimum listeyi düzenleyene kadar Apache'yi yeniden başlatın!


2. mpm_prefork'u kurun

Varsayılan Apache yapılandırmasıyla (küçük sunucular için iyi dengelenmemiş), bellek hızla tükenebilir ve bulut sunucunuz aşırı yüklenebilir. Bu, web sayfasının sürekli yüklenirken durmasına neden olur. Sunucunun bu ölü Apache işlemlerini etkin tutacak, gereksiz yere içerik sunmaya çalışacak ve sunulacak işlem sayısını azaltacaktır.

Bu sorunu çözmek için, öncelikle sunucunuzun Apache dışında ne kadar RAM'e ihtiyacı olduğunu ve Apache işlemlerinin kullandığı ortalama bellek miktarını bulmanız gerekir.

Apache çalışırken sunucudaki üst komutu açın .

top -bn 1

Sonuç tablosunda:

  • apache2 hariç her işlem için RES sütunundaki sayıları toplayın ve toplam RAM miktarından kaldırın. Diyelim ki 600 MB aldınız .
  • tüm apache2 işlemlerinden ortalamayı alın . Diyelim ki 20 MB olsun .
  • sonra, 600/20 = 30 maksimum Apache işlemi bölümünü yapın

Sonraki adım, mpm_prefork module config dosyasını düzenleyin:

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

Şöyle görünebilir:

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

Nerede:

  • StartServers: başlatılacak sunucu işlemi sayısı.
  • MinSpareServers: yedek tutulan minimum sunucu işlemi sayısı.
  • MaxSpareServers: yedek tutulan maksimum sunucu işlemi sayısı.
  • MaxRequestWorkers: başlamasına izin verilen maksimum sunucu işlemi sayısı.
  • MaxConnectionsPerChild: bir sunucu işleminin sunduğu maksimum istek sayısı.

Gelen MaxRequestWorkers ayarı, size yukarıdaki bölümünde bulunan duyduğunuz kadar değiştirmek zorunda.

Şimdi, VPS'niz aşırı yüklenir ve bir kerede hizmet edebileceği maksimum müşteri sayısına ulaşırsa, bu hizmet verecek ve diğer kullanıcılar hızlı bir hata alacaktır. Daha sonra tekrar denemek için sayfayı yeniden yükleyebilirler. Bu bağlantıların hızlı bir şekilde kapatılması, sunucuyu sonsuza kadar açık tutmak yerine sağlıklı bir durumda bırakmak çok daha iyidir.


3. Günlüklerinizi azaltın

Performansı en üst düzeye çıkarmak için kesinlikle daha az bilgi kaydedebilirsiniz. Varsayılan Apache yapılandırmasında LogLevel ayarı uyarılmak üzere ayarlanmıştır . Yalnızca hata mesajlarını saklamak için bunu hata olarak değiştirebilirsiniz .

Apache yapılandırma dosyasını açın:

sudo nano /etc/apache2/apache2.conf

Hattı bulun:

LogLevel warn

... ve şu şekilde değiştirin:

LogLevel error

Ardından dosyayı kaydedin ve Apache'yi aşağıdakilerle yeniden başlatın:

sudo service apache2 restart

Apache'nin günlükleri tuttuğu varsayılan dosya /var/log/apache2/error.log'dur .


4. mod_php dosyasını değiştirmeyi düşünün

Bir PHP sitesi çalıştırıyorsanız, mod_php modülünü kullanma şansınız çok yüksektir. Bu modül, istekler resim, css ve javascript gibi statik kaynaklar için olsa bile her Apache alt işleminin 100 MB'tan fazla RAM kullanmasına neden olabilir.

Harika bir alternatif, fastcgi protokolünü kullanan ayrı bir süreç olan php-fpm modülüdür. Php-fpm ile Apache işlemlerinin belleği statik içerik için 10 MB ve dinamik için 60 MB'ye düşebilir.

Bu değişiklikle çalışacak şeyleri almak biraz zor olsa da, çabaya değer.


5. mpm_prefork değiştirmeyi düşünün

Çoğu Apache yapılandırması , iş parçacığı için güvenli olan ve her biri bir iş parçacığıyla birden fazla alt işlem kullanan mpm_prefork modülünü kullanır ve her işlem bir seferde bir bağlantıyı yönetir. PHP veya Rails gibi harici modüllere ihtiyacınız yoksa , genellikle daha hızlı olan apache2-mpm-worker modülüyle değiştirebilirsiniz . Çalışan MPM, her biri çok sayıda iş parçacığı olan birden fazla alt işlem kullanır ve her iş parçacığı aynı anda bir bağlantıyı yönetir.

İşçi modülünü etkinleştirmek için modülü kurmanız gerekir.

sudo apt-get install apache2-mpm-worker

Bu komut mpm_prefork , mos_php ve diğer uyumsuz eklenti modüllerini kaldıracaktır .



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun