• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепропетровск
  • +38(062) 210-24-93  Донецк
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 007-72-35  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Пожелания и предложения. API - добавить возможность очистки кеша memcached

Форумы Пожелания и предложения API - добавить возможность очистки кеша memcached
NeoFlash
13.03.2017 12:54
хостинг: есть
домен: есть
API - добавить возможность очистки кеша memcached
Объясню ситуацию в двух словах.
На арендуемом сервере под вашим администрированием работает проект, использующий memcached. Его процесс иногда по непонятным причинам начинает кушать 100, потом 200, 300... 400 процентов ресурсов (выше не видел, на таких этапах очищаю кеш и нагрузка сразу падает). "Иногда" это случает без какого-либо расписания. Бывали удачные недели, когда все могло работать идеально неделю. Бывает, за день несколько раз нагрузка процесса вырастает. Загруженность проекта при этом весьма стабильна и от дня ко дню колеблется на +-30%. Всяческие функции обслуживания и т.д. запускаются минимум раз в сутки, значит за 24 проходят все варианты запросов к кешированию, и то, что что-то глючное порождает проблему в запросах самого проекта можно исключить (проблема может не появится неделю).
Проблема такого выедания ресурсов приводит к тому, что системы мониторинга проекта начинают активно писать логи при высокой общей загрузке и вообще всячески пытаются понять, почему что-то тормозит, а в дальнейшем начинают отключать некоторые службы, чтобы сэкономить ресурсы, когда делать этого совсем не нужно (сервер только показывает, что нагружен - по факту все работает быстро).

До этого момента уже минимум год занимаюсь тем, что при возрастании нагрузки просто захожу в панель управления хостингом и жму там магическую кнопочку "Очистить кеш" в разделе Memcached. Не знаю, что она точно делает, но похоже, что перезапускает процесс (простая очистка через flush не дает такого результата). Перезапустить процесс через командную строку я не могу, так как при использовании панели рут-права не выдаются, а они необходимы для этой операции.

Соответственно, проблема, скорее всего, в ядре memcached, и ее никак не решить до какого-то чудо-обновления. Хотелось бы иметь возможность поставить автоматическую проверку нагруженности процессора процессом memcached и его автоматическую "перезагрузку". Была бы функция такая в API - было бы замечательно, так как она магическим образом помогает. Если я чего-то не знаю, и имею какую-то другую возможность перезапустить memcached без всего этого обходного маневра, буду благодарен за дельные советы.
Илья
13.03.2017 13:19
хостинг: есть
домен: есть
Memcached на серверах работает от имени пользователя, поэтому используя свой SSH вы можете перезапустить процесс.
Это будет быстрей, чем ждать обновления API.
Для того, что б увидеть параметры, с которыми процесс запущен используйте
ps xauf | grep  /usr/bin/memcached
NeoFlash
13.03.2017 13:21
хостинг: есть
домен: есть
То есть я его могу снять командой kill и потом просто запустить сразу?
Илья
13.03.2017 13:27
хостинг: есть
домен: есть
То есть я его могу снять командой kill и потом просто запустить сразу? © NeoFlash

По идее - да.
NeoFlash
13.03.2017 14:07
хостинг: есть
домен: есть
Спасибо за совет. Написал мониторинг, когда в следующий раз поднимется нагрузка от процесса, отпишусь - работает такой подход или нет.
NeoFlash
15.03.2017 15:10
хостинг: есть
домен: есть
Сегодня доработал скрипт и все сработало успешно. Как оказалось, в ps нагрузка была нормальная (0.1-1.5%), а вот top в это время показывает около 100% нагрузки процессом.
toxi
15.03.2017 22:18
хостинг: есть
домен: есть
Если не ошибаюсь, то ps показывает результаты немного по-другому:
ps 2 = top 200% загрузка процессора (два ядра нагружено/скушано процессом)
ps 1,5 = top 150% загрузка процессора (грубо говоря, на сервере полтора ядра нагружено/скушано процессом)
ps 1 = top 100% загрузка процессора (одно ядро нагружено/скушано процессом)
ps 0,5 = top 50% загрузка процессора (половина одного ядра нагружено/скушано процессом)
Грубо говоря, количество циферок в команде ps указывает, сколько "ядер" центрального процессора утилизированно/съедено тем или иным процессом.
NeoFlash
15.03.2017 22:47
хостинг: есть
домен: есть
Судя по всему, показывает что там, что там, одинаково.
Прикрепленные файлы:
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города