Оптимізація Apache та MySQL на Linux Xen VPS


10

У мене віртуальний приватний сервер Xen (VPS), що працює під керуванням Ubuntu 8.10, із 128M оперативною пам’яттю.

Я знайшов кілька сторінок "як оптимізувати Apache та MySQL для VPS з низькою пам'яттю" через Google, але вони надають суперечливу інформацію. Тому я запитую помилку сервера: як оптимізувати Apache та MySQL для конфігурації VPS з низькою пам’яттю?


Кілька людей запропонували використовувати nginx замість Apache. Я розглядаю це, але я вважаю за краще дотримуватися Apache, якщо можливо, просто щоб уникнути необхідності дізнатися все про налаштування стеків додатків поверх незнайомого (для мене) веб-сервера.

Відповіді:


7

Nginx - це чудово, але якщо ви хочете дотримуватися Apache, можна зменшити його трохи за допомогою стандартних налаштувань:

  • Використовуйте робочий MPM, а не префорк (у робочому MPM Apache більше немає моделі "процес на з'єднання").
  • Подивіться на всі спільні модулі, які ви завантажуєте, позбудьтесь усіх, які вам не потрібні.
  • Уникайте вбудовування серверів програм всередині Apache (тобто mod_python, mod_php тощо), якщо ви можете цього уникнути. Натомість запускайте сервери додатків в окремому процесі та майте до них проксі-сервер Apache (тобто для коду Python використовуйте mod_wsgi в режимі демон). Таким чином ваші потоки Apache, які просто подають статичний вміст, не будуть зайвими роздутими.
  • У налаштуваннях Apache зменшіть налаштування StartServers, MaxClients, MinSpareThreads та MaxSpareThreads. Залежно від очікуваного навантаження, ви можете іноді зменшити їх у п’ять і більше, ніж налаштування за замовчуванням.

2

Якщо у вас є обмеження в пам'яті, я б рекомендував використовувати nginx як альтернативу, якщо це можливо. Він споживає набагато менше пам'яті, ніж Apache, і залежно від ваших потреб може бути все, що вам потрібно.

Як бонус, nginx, як правило, значно швидше, ніж Apache. =)


2

Ditch apache, це процес кожної моделі підключення не буде грати з вашим низьким VPS пам'яті.

Я пропоную nginx як заміну.


4
Це лише питання для 1.3. apache 2.x дозволяє підключати модулі процесів, включаючи MPM, який запускає багато потоків у невеликій кількості процесів. Все на смак
Vagnerr

Так, але nginx все одно буде меншим процесом
Дейв Чейні

2
Так, але це не те, що ви сказали
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.