Как дисковый кеш в OrientDB разделен кешем чтения и записи (проценты)

Из документов я узнал, что при 100% использовании дискового кэша orientdb он использует максимальный размер 70% для кэша чтения и 30% для кэша записи ( http://orientdb.com/docs/last/plocal-storage-disk-cache.html).

Читая больше о кэше чтения, он разделен на 3 очереди: a1in, a1out и am, максимальные размеры которых соответственно составляют 25%, 50% и 75% от размера кэша чтения ( http://orientdb.com/docs/last/plocal-storage-disk-cache.html).

Ясно, что в стабильном состоянии с полным кэшем чтения для кэша чтения требуется более 70% дискового кэша. Как это обрабатывается? Некоторое пространство занято из кэша записи или просто больше места с самого начала отдается кешу чтения?

Также я хотел бы быть уверен, что:

  1. задействованный "дисковый кэш" - это ОЗУ, включенное в общий диск (HDD или SDD), а не ОЗУ машины;
  2. пространство по умолчанию дискового кэша, используемого orientdb, составляет 100%, как написано в первой ссылке (возможно изменить с помощью параметра storage.diskCache.bufferSize)

Спасибо всем!

1 ответ

Понятно, что в стабильном состоянии с полным кэшем чтения ему требуется более 70% дискового кэша.

Не все очереди в кэше чтения содержат загруженные данные. Очередь a1out, которая занимает 50% размера дискового кэша, содержит только информацию о страницах, которые были загружены в очередь a1in. Таким образом, эта очередь содержит так называемые "записи-призраки", которые в действительности не влияют на потребление дискового кеша. Эта очередь необходима для предоставления дополнительных статистических данных для преодоления недостатков простого LRU-кэша.

Некоторое пространство занято из кэша записи или просто больше места с самого начала отведено для кэша чтения

Кэш записи и кэш чтения совместно используют одно и то же пространство памяти, но часть пространства принадлежит исключительно кэш записи.

задействованный "дисковый кэш" - это ОЗУ, включенное в общий диск (HDD или SDD), а не ОЗУ машины;

Мы используем оперативную память сервера и не используем буфер HDD.

Пространство дискового кэша по умолчанию, используемое orientd b, составляет 100%.

Он используется на 100% в случае высокой загрузки данных, в противном случае 15% сейчас (а не 30%, как указано в документации) используется только для кэша записи, поэтому не используется без наличия высокой загрузки данных.

Другие вопросы по тегам