[BUG] Unusable performance on Android with large photo libraries #1378

Closed
opened 2026-02-05 01:33:45 +03:00 by OVERLORD · 9 comments
Owner

Originally created by @tomlyo on GitHub (Sep 26, 2023).

The bug

My wife and I both have the exact same phone (Android 13, Samsung Galaxy S20). However, our app experience with the photo library differs greatly. On my phone, it's working flawlessly. I have a photo library of about ~3000 photos. On my wife's phone, it's unusable. She has over 60,000 photos, and it seems whenever the app is launched, it has to load for at least 5 minutes before it becomes somewhat responsive. During this time, she will have the loading icon over the cloud in the upper-right corner for the entire 5 minutes.

While it's loading, the app experience is that it takes about 60 seconds for anything to respond, such as navigating to the Sharing Tab, tapping on an Album, or tapping on any photo, which would take minutes to complete.

I have attempted uninstalling/clearing app data and reinstalling the application. I suspect the difference in our user experience is that my wife has such a massive photo library that it is causing this behavior.

The OS that Immich Server is running on

Debian 11 via Docker

Version of Immich Server

1.79.1

Version of Immich Mobile App

1.79.1

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file: stack.env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file: stack.env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - /home/tom/docker_volumes/immich/model-cache:/cache
    env_file: stack.env
    restart: always

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file: stack.env
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
    volumes:
      - /home/tom/docker_volumes/immich/tsdata:/data
    restart: always
    labels:
      com.centurylinklabs.watchtower.enable: "false"

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
    restart: always
    labels:
      com.centurylinklabs.watchtower.enable: "false"

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - /home/tom/docker_volumes/immich/pgdata:/var/lib/postgresql/data
    env_file: stack.env
    restart: always
    labels:
      com.centurylinklabs.watchtower.enable: "false"

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}

    ports:
      - 2283:8080
    depends_on:
      - immich-server
      - immich-web
    restart: always

Your .env content

DB_DATABASE_NAME=immich
DB_USERNAME=postgres
DB_PASSWORD=<secret>
DB_HOSTNAME=immich_postgres
UPLOAD_LOCATION=<secret>
TYPESENSE_API_KEY=<secret>
REDIS_HOSTNAME=immich_redis
IMMICH_VERSION=v1.79.1

Reproduction steps

1. Open Mobile Application on Android with a photo library in excess of 60,000 photos.
2. Application is very slow to respond for the first several minutes.

Additional information

No response

Originally created by @tomlyo on GitHub (Sep 26, 2023). ### The bug My wife and I both have the exact same phone (Android 13, Samsung Galaxy S20). However, our app experience with the photo library differs greatly. On my phone, it's working flawlessly. I have a photo library of about ~3000 photos. On my wife's phone, it's unusable. She has over 60,000 photos, and it seems whenever the app is launched, it has to load for at least 5 minutes before it becomes somewhat responsive. During this time, she will have the loading icon over the cloud in the upper-right corner for the entire 5 minutes. While it's loading, the app experience is that it takes about 60 seconds for anything to respond, such as navigating to the Sharing Tab, tapping on an Album, or tapping on any photo, which would take minutes to complete. I have attempted uninstalling/clearing app data and reinstalling the application. I suspect the difference in our user experience is that my wife has such a massive photo library that it is causing this behavior. ### The OS that Immich Server is running on Debian 11 via Docker ### Version of Immich Server 1.79.1 ### Version of Immich Mobile App 1.79.1 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: stack.env depends_on: - redis - database - typesense restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: stack.env depends_on: - redis - database - typesense restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - /home/tom/docker_volumes/immich/model-cache:/cache env_file: stack.env restart: always immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} env_file: stack.env restart: always typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data volumes: - /home/tom/docker_volumes/immich/tsdata:/data restart: always labels: com.centurylinklabs.watchtower.enable: "false" redis: container_name: immich_redis image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 restart: always labels: com.centurylinklabs.watchtower.enable: "false" database: container_name: immich_postgres image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - /home/tom/docker_volumes/immich/pgdata:/var/lib/postgresql/data env_file: stack.env restart: always labels: com.centurylinklabs.watchtower.enable: "false" immich-proxy: container_name: immich_proxy image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release} ports: - 2283:8080 depends_on: - immich-server - immich-web restart: always ``` ### Your .env content ```Shell DB_DATABASE_NAME=immich DB_USERNAME=postgres DB_PASSWORD=<secret> DB_HOSTNAME=immich_postgres UPLOAD_LOCATION=<secret> TYPESENSE_API_KEY=<secret> REDIS_HOSTNAME=immich_redis IMMICH_VERSION=v1.79.1 ``` ### Reproduction steps ```bash 1. Open Mobile Application on Android with a photo library in excess of 60,000 photos. 2. Application is very slow to respond for the first several minutes. ``` ### Additional information _No response_
Author
Owner

@curtwagner1984 commented on GitHub (Sep 27, 2023):

Maybe it's related to this: https://github.com/immich-app/immich/issues/4180

Is the large collection of images have a creation date from the same month? Does this happen on the webui too?

@curtwagner1984 commented on GitHub (Sep 27, 2023): Maybe it's related to this: https://github.com/immich-app/immich/issues/4180 Is the large collection of images have a creation date from the same month? Does this happen on the webui too?
Author
Owner

@alextran1502 commented on GitHub (Sep 27, 2023):

This issue will potentially be fixed in #4103

@curtwagner1984 Mobile app and the web uses different mechanism to render assets

@alextran1502 commented on GitHub (Sep 27, 2023): This issue will potentially be fixed in #4103 @curtwagner1984 Mobile app and the web uses different mechanism to render assets
Author
Owner

@tomlyo commented on GitHub (Sep 27, 2023):

No issues logging in as her user on the webUI, I can view all the photos without any problems there. I'd say the creation date on the photos go back several years, with maybe 10,000 photos in the past 8 months if I were to highball it.

@tomlyo commented on GitHub (Sep 27, 2023): No issues logging in as her user on the webUI, I can view all the photos without any problems there. I'd say the creation date on the photos go back several years, with maybe 10,000 photos in the past 8 months if I were to highball it.
Author
Owner

@alextran1502 commented on GitHub (Oct 5, 2023):

Hello, has this issue been resolved within the last releases?

@alextran1502 commented on GitHub (Oct 5, 2023): Hello, has this issue been resolved within the last releases?
Author
Owner

@tomlyo commented on GitHub (Dec 15, 2024):

Can this issue be reopened? It's been over a year and I've consistently stayed on most recent version of server and my wife most recent Android and app versions. To date the issue still exists and the app freezes about 15 seconds after opening for several minutes.

I think it's a combination of her large image library (now > 115000) and over 5000 videos

Hello, has this issue been resolved within the last releases?

@tomlyo commented on GitHub (Dec 15, 2024): Can this issue be reopened? It's been over a year and I've consistently stayed on most recent version of server and my wife most recent Android and app versions. To date the issue still exists and the app freezes about 15 seconds after opening for several minutes. I think it's a combination of her large image library (now > 115000) and over 5000 videos > Hello, has this issue been resolved within the last releases?
Author
Owner

@alextran1502 commented on GitHub (Dec 15, 2024):

Hi @tomlyo, how many album do you have on each account?

@alextran1502 commented on GitHub (Dec 15, 2024): Hi @tomlyo, how many album do you have on each account?
Author
Owner

@tomlyo commented on GitHub (Dec 15, 2024):

Hi @tomlyo, how many album do you have on each account?

There are 2 accounts in my environment. I have 15 albums, 11 of which are shared. The other account only has the 11 shared albums, none of their own.

Some updated information since the other user's device. They presently have a Galaxy Z Fold3 5G, SM-F926U1. 121,000 photos, 3800 videos. I have 4300 photos, 241 videos.

We're presently on 1.122.3 server version both updated Android apps.

@tomlyo commented on GitHub (Dec 15, 2024): > Hi @tomlyo, how many album do you have on each account? There are 2 accounts in my environment. I have 15 albums, 11 of which are shared. The other account only has the 11 shared albums, none of their own. Some updated information since the other user's device. They presently have a Galaxy Z Fold3 5G, SM-F926U1. 121,000 photos, 3800 videos. I have 4300 photos, 241 videos. We're presently on 1.122.3 server version both updated Android apps.
Author
Owner

@tomlyo commented on GitHub (Apr 12, 2025):

Hi @tomlyo, how many album do you have on each account?

Can I work with you on this in any capacity? At this point it's not even functional on this specific device, clearing cache, storage, reinstalling the app, maintaining latest server versions, none of it was worked over the years and at this point I may be forced to a different application to get something to work for this device.

I'd be happy to submit a new issue, provide any logs videos, etc.

@tomlyo commented on GitHub (Apr 12, 2025): > Hi @tomlyo, how many album do you have on each account? Can I work with you on this in any capacity? At this point it's not even functional on this specific device, clearing cache, storage, reinstalling the app, maintaining latest server versions, none of it was worked over the years and at this point I may be forced to a different application to get something to work for this device. I'd be happy to submit a new issue, provide any logs videos, etc.
Author
Owner

@alextran1502 commented on GitHub (Apr 12, 2025):

@tomlyo we are getting closers to implement the new sync mechanism now, so hopefully in a month or two, you have something new to try

@alextran1502 commented on GitHub (Apr 12, 2025): @tomlyo we are getting closers to implement the new sync mechanism now, so hopefully in a month or two, you have something new to try
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1378