У меня есть сервер с 8 ГБ ОЗУ. Проблема в том, что нагрузка на сервер слишком высокая, а Apache очень медленный, но он использует всего 800 МБ ОЗУ. Как это работает? Могу ли я выделить одной веб-странице на моем сервере 7 ГБ ОЗУ или 6 ГБ ОЗУ, чтобы использовать ее?
Я думаю, что 800 МБ используемой памяти из 8 ГБ и высокая нагрузка на сервер — это нехорошо.
Средняя нагрузка: 1,66, 1,73, 2,12 Время безотказной работы: 173 дня, Задачи: 711, запущено: 2
Процессор Intel(R) Atom(TM) D525 @ 1,80 ГГц (4 ЦП), 4 ГБ ОЗУ, сервер Debian с панелью управления i-mscp.
htop говорит, что /usr/sbin/mysqld.... использует 98% ресурсов ЦП.
У меня есть 2 HDD, 250 ГБ для Linux и 2 ТБ для /var/www/webpages....
Использовано 844 МБ ОЗУ из 8 ГБ, 308 МБ SWP из 4 ГБ.
Скорость интернет-соединения 2 ГБ/с.
Размер базы данных Mysql: 153 Мб,
Каждые 5 минут выполняется около 5 заданий cronjob.
Иногда мой сайт выдает ошибку сервера из-за нехватки ресурсов, но другие сайты работают без проблем.
решение1
- Ваш процессор загружает MySQL, а не Apache. Если он думает, что может выиграть от использования большего объема оперативной памяти, он так и сделает. Очевидно, что это не так.
- Вам нужно проверить, почему он использует так много процессорного времени. Возможно, вы можете оптимизировать запросы к базе данных вашего приложения, но это не гарантировано, так как они просто могутнуждатьсявся эта власть из-за того, что они делают.
- Если у вас ограниченный процессор, использование большего объема оперативной памяти не поможет. С чего вы взяли, что это поможет?
- Если у вас действительно 4 ядра, то загрузка 2,1 означает, что используется только половина ядер, поэтому ваша система определенно не перегружена.
- Если у вас есть задачи, интенсивно использующие процессор, то использование крошечного игрушечного процессора вроде Atom — это бессмыслица.
- Если ваш Apache работает «медленно», это, скорее всего, является результатом ожидания MySQL.