Debian - оптимізація продуктивності apache

Напишу скрипт безкоштовно

Сортування масивів по зростанню і зменшенням в PHP

  • Олег »А тут описано як можна відсортувати дані витягнуті з бази даних astranar.ru/php?id=2

Debian - оптимізація продуктивності apache

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

1. Працюйте тільки з дійсно потрібними вам модулями, а все інше, відразу ж і не замислюючись, видаляйте! Справа в тому, що в цьому випадку ви відразу ж зменшіть споживання пам'яті, що і спричинить за собою збільшення швидкості. Другий варіант - скомпілювати модулі як DSO, за допомогою apxs (в apache 1) і apxs 2 в (apache 2), що скоротити швидкість роботи приблизно на 11-15%.

2. Правильно виберіть MPM (Multi-processing module). Так як головне завдання MPM - прослуховувати порти, що відповідають установленим вимогам з безпеки, кількості вільної пам'яті або наявності підтримки потоків в ОС, то слід обмежити вибір на двох MPM - worker і prefork.

Worker - переносить обслуговування запитів в окремий потік.

Perfork - працюєте з кількома дочірніми процесами, кожен з яких відповідає за обробку одного підключення.

Щоб змінити MPM, ви повинні будете перекомпіліровать apache за допомогою source-based, що відразу ж поліпшить швидкість роботи всієї системи.

4. Встановити AllowOverride директиву в режим «None», інакше apache буде відкривати (або намагатися зробити це) все htaccess-файли в кожної відвідуваною директорії, а так же файли вище її:

Debian - оптимізація продуктивності apache

Тому якщо вам потрібен .htaccess тільки якоїсь однієї директорії, то вчините так:

Debian - оптимізація продуктивності apache

Так само потрібно відзначить, що при включенні для директорії:

5. Так само відмовтеся від Content Negotiatio.

6. Правильно задайте параметри MaxClients, що визначає кількість одночасно оброблюваних запитів. Знайдіть для себе оптимальне значення MaxClients, щоб обслуговувати оптимальне число клієнтів. При цьому слід пам'ятати, що для статичних файлів apache потрібно 2-3 Мб на процес, для динаміки - 16-32 Мб.

7. Установка MinSpareServers, MaxSpareServers, і StartServers - а вона повинна привести до того, щоб apache відмовився від створення 4-х потоків / процесів в 1-у секунду, що дозволить не перевантажувати систему навіть при максимальному числі клієнтів.

8. Змініть значення MaxRequestsPerChild при визначенні того, скільки запитів повинен обробити 1 дочірній потік / процес до свого завершення. Пам'ятайте, що це значення (за замовчуванням) виставлено як «нуль», тому краще змінити його на 1000 і більше, що позбавить вас від витоку пам'яті в дочірні процеси, що має величезне значення при використанні нестабільної версію PHP.

9. Увімкніть KeepAlive і KeepAliveTimeout, які в відключеному режимі створюють окремий потік для кожного розміщеного на html-сторінці зображення, і «гальмує» сторінки з великим числом зображень великого розміру. У випадках з download-серверами KeepAlive краще відключити, що відразу ж позбавить вас від довго очікування перед закриттям сервером з'єднань.

Слід зазначити, що параметри кешування задаються директивами модуля mod_deflate. При цьому не варто встановлювати ступінь стиснення gzip більше 4 або 5, так як це збільшить час CPU, і знизить загальний ефект.

11. І звичайно ж не забувайте встановлювати на статичних файлах (для цього застосовується модуль mod_expires) Expires заголовки. Або закешіруйте його на клієнті в тому випадку, якщо файл не змінюється, що звільнить сервер від зайвих запитів, а клієнт отримає більш швидко завантажується сторінку.

На нових VPS часто з'являються проблеми з продуктивність роботи Apache. Справа в тому, що конфігураційні файли які створюються після установки Apache далеко не оптимізовані.

Симптоми поганої настройки можуть бути робота VPS з обжерливістю RAM на 100% або CPU на 100%. Після виконання команди top або htop (якщо не працює виконайте apt-get install htop) на перших рядках буде процес apache.

Я покажу оптимальний конфиг. файл для VPS

Оперативна пам'ять. 512 MB

Процесор. 2267 MHz

У цьому файлі можна поміняти наступні параметри:

одночасно запущених процесів httpd. тобто по суті установка ліміту

на сжіраніе пам'яті самим "голодним" процесом httpd
  • StartServers -встановлює число дочірніх процесів при запуску сервера.
  • MinSpareServers - мінімальне число невикористовуваних дочірніх процесів.
  • MaxSpareServers - відповідно максимальне число невикористовуваних дочірніх процесів.
  • MaxRequestsPerChild - максимальна кількість запитів, яке дозволено обробляти дочірньому процесу до переповнення. Потрібен даний параметр, щоб уникнути витоку пам'яті або інших ресурсів Apache, так як при переповненні дочірній процес буде

    примусово завершений. У більшості випадків зміна не потрібно. Значення 0 - озхначает відсутність обмежень.

  • Ще записи по темі

    Схожі статті