# 6.3 - Concurrence, tâches et choix du stockage

## Priorités de stockage

1. PostgreSQL sur SSD si possible.
2. Miniatures sur SSD si la navigation est lente.
3. Originaux sur le pool de capacité.
4. Sauvegardes sur un autre support et un autre système.

Séparer les datasets peut améliorer l'organisation, mais complexifie la restauration. Mesurer avant de multiplier les montages.

## Concurrence des tâches

Dans `Administration > Settings`, ajuster progressivement :

- extraction de métadonnées ;
- miniatures ;
- transcodage ;
- recherche intelligente ;
- détection faciale.

Ne pas dépasser sans raison le nombre de coeurs disponibles, surtout pour les miniatures. Une concurrence trop forte peut ralentir l'API et saturer le stockage.

## Import massif

Avant :

```bash
df -hT
free -h
nvidia-smi
```

Pendant :

```bash
docker stats
iostat -xz 2
watch -n 2 nvidia-smi
```

`iostat` est fourni par `sysstat` sur de nombreuses distributions.

## Machine learning distant

Immich peut envoyer les aperçus à un service machine learning plus puissant. Cette option convient à un serveur limité, mais ajoute une dépendance réseau et un second service à sauvegarder ou reconstruire.

## Base PostgreSQL

Éviter les modifications manuelles de paramètres PostgreSQL copiées depuis un autre environnement. L'image officielle Immich contient des réglages et extensions adaptés.

Contrôles utiles :

```bash
docker exec -it immich_postgres psql -U postgres -d immich -c 'select version();'
docker exec -it immich_postgres pg_isready -U postgres -d immich
```

Adapter utilisateur, base et conteneur.

## Nettoyage

Après une mise à jour Docker validée :

```bash
docker image prune
```

Cette commande supprime les images inutilisées, pas les images en cours d'utilisation. Ne pas supprimer les volumes ou dossiers de données pour gagner de la place.

## Mesurer

Comparer avant et après :

- temps d'ouverture des miniatures ;
- durée d'une tâche de 1000 actifs ;
- charge CPU ;
- mémoire disponible ;
- latence disque ;
- utilisation GPU ;
- réactivité de l'API.

Références :

- `https://docs.immich.app/administration/jobs-workers/`
- `https://docs.immich.app/install/truenas/`