Що потрібно
Протестовано: 1 ГБ оперативної пам’яті, одне або два ядра процесора, із зовнішнім постачальником ШІ або без нього. Усе пройшло, зокрема резервна копія під час завантаження фото. 2 ГБ залишають запас.
Що тестувалося
Section titled “Що тестувалося”- Версія: зміни 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.
Що це означає
Section titled “Що це означає”- 1 ГБ, 1 або 2 ядра: протестовано, кожен запуск пройшов, із запасом близько 150 МБ на піку.
- 2 ГБ: запас для інших служб окрім Kept.
- 768 МБ: Kept працював, працювала й функція «Запустити зараз» (шлях запланованої резервної копії);
kept admin backupпід час завантаження фото вичерпала пам’ять. Не рекомендовано.
Raspberry Pi
Section titled “Raspberry Pi”Не тестували на такому. Образ arm64 — той, на якому йшли ці тести, тому Pi з 1 ГБ або більше може відповідати рядкам для 1 ГБ; очікуйте нижчу швидкість. Жоден випуск не тестували на Pi.
Що важке
Section titled “Що важке”- Резервні копії.
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 %.
Postgres
Section titled “Postgres”Kept потребує PostgreSQL 18 із pgvector. Compose запускає образ pgvector/pgvector, закріплений за
дайджестом; про базу даних постачальника див. керований Postgres.