У меня есть VPS с 512 МБ оперативной памяти 40 ГБ 1 ЦП, я запускаю на нем небольшую службу парковки домена.
Он есть на CentOS, MySQL, Apache и т. Д.
Теперь мой хостинг провайдер утверждает, что мой сервер слишком сильно загружает их систему хранения им пришлось сбросить мой экземпляр и попросить меня оптимизировать сервер, потому что он замедляет работу других клиентов в хранилище.
Общий размер файлов домена (папка www) не превышает 100 МБ!
Я оглядываюсь и не вижу, что может вызвать это «злоупотребление хранилищем», они сказали, что в их хранилище записана виртуальная память, несколько сотен МБ.
Единственная известная мне перегрузка - это скрипт php, который запускается один раз в час для обработки всей статистики домена, занимает 3 минуты и, похоже, заставляет процессор работать :)
Изменить: я добавил второй экран верхней команды, показывающий недостающие данные над списком процессов.
Это всего лишь предположение, но это слишком долго для комментариев, поэтому приступим.
С виртуальными частными серверами вы получаете «кусочек» реального сервера. Вместо того, чтобы тратить, скажем, по 500 долларов каждый на 24 небольших сервера с оперативной памятью 512 МБ и т. Д., Дешевле купить (и эксплуатировать) один сервер стоимостью 3500 долларов с 12 ГБ оперативной памяти и двумя шестиядерными гиперпоточными процессорами.
Вот уловка: этот сервер может продавать более 24 фрагментов. Это нормально: они не ожидают, что все будут использовать все свои ресурсы постоянно. Если у вас их достаточно, вы можете профилировать своих клиентов и незаметно перемещать клиентов в конфигурации, где вы почти уверены, что они не наступят друг другу на пятки - по крайней мере, при нормальных обстоятельствах. Опять же, это нормальная практика, и в этом нет ничего плохого, если делать это аккуратно. Существует вероятность того, что ненормальная рабочая нагрузка вызовет проблемы, но это часть того, что делает этот вариант экономичным; если вам нужна услуга там, где это невозможно, вы платите больше за услугу, например, за аренду физического сервера в пространстве colo.
Теперь о моем предположении. Что произойдет, если они слишком сильно увеличат подписку на сервер? Кому-то остается держать короткий конец палки, и у него есть только виртуальные ресурсы. Их «RAM» на самом деле полностью дисковая, и ее нужно менять местами. Обычно это распределяется между всеми машинами, но в правильных ситуациях одну из них можно оставить без внимания. Это ты. С их точки зрения, ваша машина делает странные вещи. В их инструментах мониторинга им кажется, что вы злодей, хотя на самом деле вы - жертва. Хороший провайдер распознает это, но хороший провайдер также скажет вам перед они сбрасывают ваш экземпляр.
Взгляните на поле virt в выводе вашей верхней команды. У вашего VPS 512 МБ памяти, но apache требует гораздо больше памяти, что, вероятно, объясняет, почему у вас 4 ГБ виртуальной памяти. Со всеми этими потоками apache виртуальная память будет постоянно переключаться, что вызывает высокий уровень ввода-вывода.
Почему apache потребляет так много памяти? Прежде всего проверьте журналы apache и посмотрите, не заметите ли вы чего-нибудь необычного. Если вы что-то найдете, сообщите об этом, включая образцы, и, возможно, мы сможем предоставить более конкретную помощь.
Может быть, ваши PHP-скрипты для создания статистики не завершаются должным образом, однако я предполагаю, что у вас установлено максимальное время выполнения PHP, установленное на что-то разумное, чтобы предотвратить сбой ваших скриптов?
Перезапустите apache и следите за использованием памяти. Сколько времени потребуется, прежде чем он начнет потреблять много-много места подкачки? Судя по вашему времени безотказной работы около 7 часов, это не очень долго.
Я не знаю деталей вашего PHP-сайта, но я полагаю, что простой сайт парковки домена не должен использовать слишком много ресурсов. У меня есть VPS, который мы используем в нашей компании, он запускает приложение собственной разработки с серверной частью MySQL, которое довольно активно используется примерно 30 сотрудниками каждый день, и оно не потребляет почти столько памяти, сколько у вас.
Судя по средней нагрузке, ваш процессор довольно сильно загружен, но, скорее всего, это просто из-за того, что происходит подкачка. Решите проблему с Apache, потребляющим так много памяти, и я уверен, что все станет намного лучше.
Кроме того, измените свой хост, они не должны сбрасывать ваш экземпляр без предупреждения. Это непростительно.
Ваш httpd
процессы используют больше оперативной памяти, чем доступно физически, поэтому что-то нужно поменять местами. (Также интересно, что на снимке экрана, показывающем это, вы отрезали верхнюю часть и перезапустили Apache перед тем, как сделать второй снимок экрана. Что вы скрываете?) Вам необходимо значительно уменьшить использование памяти системой, скорее всего, за счет уменьшения числа одновременных httpd
процессов или получить больше оперативной памяти.
Тем не менее, хозяин должен быть уже ограничивающим скорость такого рода вещей, что не так уж сложно; возможно они просто не знают как? Когда вы решите получить больше ОЗУ (а вы это сделаете), также получите новый хост.