Optymalizacja Apache i MySQL na Linux Xen VPS


10

Mam wirtualny prywatny serwer Xen (VPS) z systemem Ubuntu 8.10 z 128 MB pamięci RAM.

Znalazłem kilka stron „jak zoptymalizować Apache i MySQL pod kątem VPS o niskiej pamięci” za pośrednictwem Google, ale zawierają one sprzeczne informacje. Pytam więc o błąd serwera: jak zoptymalizować Apache i MySQL pod kątem konfiguracji VPS z małą ilością pamięci?


Kilka osób zasugerowało użycie nginx zamiast Apache. Przyjrzę się temu, ale wolę trzymać się Apache, jeśli to możliwe, aby uniknąć konieczności uczenia się wszystkiego o konfigurowaniu stosów aplikacji na nieznanym (dla mnie) serwerze sieciowym.

Odpowiedzi:


7

Nginx jest świetny, ale jeśli chcesz pozostać przy Apache, możesz go nieco zmniejszyć w stosunku do ustawień domyślnych:

  • Używaj roboczego MPM zamiast prefork (w przypadku roboczego MPM Apache nie ma już modelu „proces na połączenie”).
  • Spójrz na wszystkie współdzielone moduły, które ładujesz, pozbywaj się tych, których nie potrzebujesz.
  • Unikaj osadzania serwerów aplikacji w Apache (tj. Mod_python, mod_php itp.), Jeśli możesz tego uniknąć. Zamiast tego uruchamiaj serwery aplikacji w osobnym procesie i miej do nich serwer proxy Apache (tj. W przypadku kodu Python użyj mod_wsgi w trybie demona). W ten sposób wątki Apache, które po prostu wyświetlają zawartość statyczną, nie zostaną niepotrzebnie nadęte.
  • W konfiguracji Apache zmniejsz ustawienia StartServers, MaxClients, MinSpareThreads i MaxSpareThreads. W zależności od oczekiwanego obciążenia można czasami zmniejszyć je pięciokrotnie lub więcej w stosunku do ustawień domyślnych.

2

Jeśli masz ograniczenia pamięci, polecam użycie nginx jako alternatywy, jeśli to w ogóle możliwe. Zużywa znacznie mniej pamięci niż Apache i w zależności od potrzeb może być wszystkim, czego potrzebujesz.

Jako bonus, nginx jest zwykle znacznie szybszy niż Apache. =)


2

Porzuć Apache, jego proces na model połączenia nie będzie odtwarzany z twoim niskim VPS pamięci.

Sugeruję nginx jako zamiennik.


4
To tylko problem dla 1.3. Apache 2.x umożliwia podłączanie modułów procesowych, w tym MPM, który uruchamia wiele wątków w niewielkiej liczbie procesów. Wszystko
przestrojone

Tak, ale nginx nadal będzie procesem mniejszym
Dave Cheney

2
Tak, ale nie to powiedziałeś
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.