Назад | Перейти на главную страницу

Насколько консервативным я должен быть при рассмотрении текущего использования кеша в системе?

Периодически, как и в случае с любой другой крупной онлайн-службой, мы оцениваем текущую нагрузку на наше оборудование и предпринимаем попытки «выбрать правильный размер», чтобы не платить за сильно недоиспользуемое оборудование.

Насколько я должен быть обеспокоен факторингом используемой кэш-памяти? Насколько я понимаю, кеш в целом используется для оптимизации, но я, кажется, также помню, что читал, что кеш может оставаться в нем какое-то время, даже если его не нужно использовать - своего рода трата из-за чрезмерно доступных ресурсов. Вот пример одной из наших текущих систем:

Итак, мой вопрос: насколько «безопасно» я должен играть в нее, учитывая, какую нагрузку этот хост может (или должен) выдерживать? Считаю ли я все, used / buffers / cache, на 100% необходимым для оптимального использования? Или я могу быть более снисходительным с кешем и предположить, что система может менять записи кеша чаще, но не до такой степени, что на самом деле может вызвать проблемы с производительностью приложения?

Кэширование - это уменьшение доступа к базовому хранилищу (HDD или SSD), поэтому все зависит от вашей рабочей нагрузки ввода-вывода. Уменьшение доступного кеша может увеличить ваш iowait и дисковые %utils stats, что означает, что физический диск может испытывать повышенную нагрузку.

Я предлагаю вам уменьшить доступную память относительно небольшими шагами (например, по 4 ГБ в разы) и проверить, не снизилась ли производительность вашего сервера. Если нет, вы можете снова уменьшить объем памяти (очевидно, никогда не в рамках минимальных требований вашего приложения).