Как дисковый кеш в 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% дискового кэша. Как это обрабатывается? Некоторое пространство занято из кэша записи или просто больше места с самого начала отдается кешу чтения?
Также я хотел бы быть уверен, что:
- задействованный "дисковый кэш" - это ОЗУ, включенное в общий диск (HDD или SDD), а не ОЗУ машины;
- пространство по умолчанию дискового кэша, используемого orientdb, составляет 100%, как написано в первой ссылке (возможно изменить с помощью параметра storage.diskCache.bufferSize)
Спасибо всем!
1 ответ
Понятно, что в стабильном состоянии с полным кэшем чтения ему требуется более 70% дискового кэша.
Не все очереди в кэше чтения содержат загруженные данные. Очередь a1out, которая занимает 50% размера дискового кэша, содержит только информацию о страницах, которые были загружены в очередь a1in. Таким образом, эта очередь содержит так называемые "записи-призраки", которые в действительности не влияют на потребление дискового кеша. Эта очередь необходима для предоставления дополнительных статистических данных для преодоления недостатков простого LRU-кэша.
Некоторое пространство занято из кэша записи или просто больше места с самого начала отведено для кэша чтения
Кэш записи и кэш чтения совместно используют одно и то же пространство памяти, но часть пространства принадлежит исключительно кэш записи.
задействованный "дисковый кэш" - это ОЗУ, включенное в общий диск (HDD или SDD), а не ОЗУ машины;
Мы используем оперативную память сервера и не используем буфер HDD.
Пространство дискового кэша по умолчанию, используемое orientd b, составляет 100%.
Он используется на 100% в случае высокой загрузки данных, в противном случае 15% сейчас (а не 30%, как указано в документации) используется только для кэша записи, поэтому не используется без наличия высокой загрузки данных.