Относительно потребления памяти CouchDB

Недавно я сделал несколько оценок на CouchDB. Я обнаружил, что потребление памяти довольно велико для построения представления (сопоставление и уменьшение), а также для импорта более крупного документа JSON в CouchDB. Я оценил функцию построения представления в системе Ubuntu (4 ядра, ЦП Intel® Xeon® E3-1240 v5 @ 3,50 ГГц). Вот результаты:

  1. четыреста наборов данных по 100 КБ будут стоить около 683 МБ памяти;
  2. один набор данных объемом 80 МБ будет стоить около 2,5 ГБ памяти;
  3. четыре набора данных по 80 МБ будут стоить около 10 ГБ памяти.

Кажется, что потребление памяти в сотни раз превышает исходный набор данных JSON. Если мы используем набор данных объемом 1 ГБ, CouchDB не хватит памяти. Кто-нибудь знает причину, по которой потребление памяти такое огромное? Большое спасибо!


person Jack    schedule 19.10.2017    source источник


Ответы (2)


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

person MitchB    schedule 31.10.2019

Я знаю, что поздно отвечать, но я оставлю этот ответ для кого-то. Собственно, речь идет о кешировании ответов. Couchdb хочет кэшировать ответы, чтобы быстрее возвращать результаты. Вы можете решить эту проблему, установив лимиты кэширования.

Проверьте это: https://docs.couchdb.org/en/latest/config/couchdb.html

person Emir Cangır    schedule 01.06.2021