Перейти до вмісту
Обрати мову:Українська

Що потрібно

Протестовано: 1 ГБ оперативної пам’яті, одне або два ядра процесора, із зовнішнім постачальником ШІ або без нього. Усе пройшло, зокрема резервна копія під час завантаження фото. 2 ГБ залишають запас.

  • Версія: зміни Kept 1.14.3 (збірка перед випуском), compose.yaml як опубліковано (Kept, Postgres 18 із pgvector). Для резервної копії 1.14.2 потрібно було 2 ГБ.
  • Машина: емульовано в Docker на Mac з arm64. Docker, Kept і Postgres мають спільний бюджет пам’яті та процесора, як на невеликій віртуальній машині, 128 МБ відкладено під операційну систему. Без підкачування.
  • Дані: домогосподарство, а також одна Локація з 3 000 речей у 206 місцях і 200 контейнерах, і 300 справжніх фото.
  • Робота: 20 фото по 12 мегапікселів, два PDF-файли, 120 завантажень мапи та графа цієї Локації, 120 читань списку та пошуку, kept admin backup під час завантаження фото, запланована резервна копія, а потім 10 хвилин бездіяльності.
Машина Фото, мапа, пошук, PDF Резервна копія під час завантаження Запланована резервна копія Пік
1 ГБ, 2 ядра (3 запуски) пройдено пройдено пройдено 730–745 МБ
1 ГБ, 1 ядро пройдено пройдено пройдено 740 МБ
768 МБ, 1 ядро пройдено, поки резервна копія не вичерпала пам’ять; 9 завантажень і обидва PDF не вдалися, поки Kept перезапускався нестача пам’яті пройдено самостійно (один запуск) —

Піки — пам’ять, яку неможливо повернути (кеш сторінок не враховується), для всієї машини, включно з Docker. При нестачі пам’яті система завершила процес Kept, а Docker перезапустив його.

  • У стані спокою: після запуску Kept близько 160 МБ, а Postgres — 30–70 МБ. Після зміни розміру фото Kept тримається близько 300 МБ.
  • Реальні дані: на домашньому сервері amd64 Kept — 206 МБ, а Postgres — 119 МБ (одне вимірювання).
  • Швидкість (медіани): сторінка списку 30–40 мс, пошук 50–70 мс, завантаження фото 0,3–0,4 с, мапа Локації з 3 000 речей 0,4–0,5 с.
  • Ще не тестували: реальну віртуальну машину, amd64 таких розмірів, 512 МБ, локальний ШІ. Тести продуктивності тривають: #379.
  • 1 ГБ, 1 або 2 ядра: протестовано, кожен запуск пройшов, із запасом близько 150 МБ на піку.
  • 2 ГБ: запас для інших служб окрім Kept.
  • 768 МБ: Kept працював, працювала й функція «Запустити зараз» (шлях запланованої резервної копії); kept admin backup під час завантаження фото вичерпала пам’ять. Не рекомендовано.

Не тестували на такому. Образ arm64 — той, на якому йшли ці тести, тому Pi з 1 ГБ або більше може відповідати рядкам для 1 ГБ; очікуйте нижчу швидкість. Жоден випуск не тестували на Pi.

  • Резервні копії. kept admin backup додає близько 300–400 МБ під час роботи, запланована резервна копія — близько 150 МБ; сам restic — близько 100 МБ із цього. У додатку Home Assistant цього немає: там працюють резервні копії Home Assistant.
  • Зміна розміру фото. Кожне завантаження змінює розмір під час надходження. Якщо оперативної пам’яті менше ніж 3 ГБ або обмеження контейнера менше ніж 3 ГБ, Kept змінює розмір по одному за раз, інакше — по два (KEPT_IMAGE_CONCURRENCY перевизначає це). Пам’ять зростає приблизно на 150 МБ на перших фото і залишається такою.
  • Мапа та граф дуже великої Локації. Сервер читає всю Локацію на кожне завантаження: близько 670 КБ для 3 000 речей.
  • Не на сервері: мапу, граф і сітку малює ваш браузер, і вони не додають пам’яті серверу в стані спокою; мапу та граф завантажують лише після відкриття.
  • Локальний ШІ з Ollama. Модель на тій самій машині ділить пам’ять з Kept і потребує набагато більше, ніж Kept; див. Ollama.
  • Диск. База даних невелика; ростуть файли. Залиште місце для резервних копій на іншому диску, і Адміністрування → Стан попереджає, а адміністратори отримують сповіщення, коли диск заповнений понад 85 %.

Kept потребує PostgreSQL 18 із pgvector. Compose запускає образ pgvector/pgvector, закріплений за дайджестом; про базу даних постачальника див. керований Postgres.