Васин друган пишет:а память? Имеется в виду кэширование результатов запросов? или ?
Это относится вот сюда, правильно понимаю?
Мелкий пишет:Верно, не критична. Но больше памяти - меньше требуется от дисков.
Память, любое количество памяти, утилизируется под кэш данных и индексов. Кеширование результатов - это могли додуматься только в mysql. У нормальных БД - кэширование плана запроса после оптимизатора (который далеко не за бесплатно работает).
Данные живут в: кеш непосредственно СУБД (очень быстрый и дешёвый), затем кэш страниц операционной системы (чуть медленнее, но тоже дешёвый) и потом обращение к дискам (очень медленно и очень дорого)
Оперировать СУБД может только с данными, размещёнными в собственном кэше. Соответственно, если там нет нужных данных - СУБД просит ОС эти данные прочитать (вот на это "просит" требуется некоторое время, в отличии от собственного кеша, потому не так быстро и дёшево). ОС может вернуть данные из своего кеша или читать с дисков.
Ужасный вариант - в память (имеется в виду кэш СУБД или ОС) не влезают даже индексы, тупой index scan - и тот читает с дисков. Читать с дисков очень дорого, так что ничего хорошего из этого не получится, тормозить будут даже смехотворные запросы по покрывающим индексам на таблицах в никчёмные десятки тысяч строк. Утилизировать на 100% можно любой диск самой незначительной табличкой.
Индексы в памяти, прогрета часть рабочих данных - что-то размещено в памяти, но на весь рабочий набор памяти не хватило - постоянно с дисков вычитываются новые данные, старые вытесняются из памяти. Распространённый вариант. Тут как раз нужно многое от дисков. Зависит от отношения объёма рабочих данных к объёму памяти под кеши, чем больше данных поднято с дисков в кеш - тем меньше требуется читать с дисков.
Отличный вариант - все рабочие данные размещены в памяти, диски только пишут новые данные и очень редко читают (кому-то вдруг исторические данные поглядеть захотелось). А типичная нагрузка веб-приложения - больше 90% чтения, вот от дисков почти ничего особого и не требуется, от них зависит только скорость записи (ну и время на чтение всего этого при старте системы). Вот тут уже реально упереться в CPU, ну или в сеть, т.к. диски не ограничивают производительность чтения.