Наразі я адміністратор Moodle в своєму університеті, і одна з моїх обов'язків - постійно підтримувати роботу сервера і працювати. Іноді без видимих причин Apache та / і MySQL виходять з ладу, викликаючи повний хаос в університеті.
У широкому сенсі, які "основні вказівки" слід виконувати, коли сервер виходить з ладу? Що я повинен зробити спочатку, щоб дізнатися, що сталося? Як я можу знати, скільки користувачів було підключено на момент аварії (або в будь-який момент часу)? Як я можу знати, скільки пам'яті чи потужності потрібно для поточного попиту?
Є багато питань, пов’язаних між собою, але це найважливіші. Очевидно, я далеко не досвідчений сисадмін. Я трохи знаю свій шлях навколо Linux, якщо це допомагає.
Наші характеристики сервера:
- Двоядерний процесор Intel Xeon при 2,66 ГГц (якщо я пам'ятаю правильно)
- 2 ГБ оперативної пам’яті
- 500 ГБ жорсткого диска
- CentOS 5.4
- MySQL 5.0.45
- PHP 5.3.12
EDIT: Вибачте за відсутність інформації.
Я читав журнали Apache та MySQL, не маючи значних даних. Apache є найбільш інформативним: мовляв, КОЛИ це сталося, але немає інших причин. Насправді помилка в збої в Apache насправді не є "помилкою", просто введення в журнал її повторної ініціалізації - найгірший сценарій - це Apache, що дає "SIGTERM" або "SIGKILL". Журнали MySQL не говорять абсолютно нічого.
Зазвичай я намагаюся слідкувати за тим, що відбувається, використовуючи "верх". Коли трапляються збої, рідко є вся (або навіть половина) споживаної системної пам'яті. У дуже тяжких ситуаціях використання процесора досягло ... 80%?
Використання диска та пам’яті здається прекрасним (між собою та безкоштовними програмами немає проблем) Доступ до SSH зазвичай нормально. Просто здається, що MySQL або Apache випадково виходять з ладу, тому що навіть коли попит не такий високий, він все ще висить.
Проблему можна звести до "Які журнали перевірити?" "Як перевірити кількість з'єднань?"