nextcloud / nextcloud/server

[Bug]: Federated share download starts with long delay (high TTFB) for large files (>200MB), but transfers fast once started

Open
#58,400 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 32-feedback bug feature: federation hotspot: file transfer performance
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
Bug description

When downloading a federated share (federation) file, the download start is delayed significantly for large files (e.g., >200MB).

The problem is not the download speed: once the download starts, it downloads fast at normal speed.
The issue is the delay before the first byte is received (high TTFB / time-to-first-byte) — e.g., ~60 seconds before the download actually begins in the Nextcloud desktop client / browser.

This behavior seems to happen only for federated downloads. Normal local downloads from the same instance do not show this start delay.

Steps to reproduce

Have two Nextcloud instances connected via Federation / federated shares.

Share a large file (example: ~300MB .rar) from remote instance to local instance using federation.

From the receiving side (or via desktop client/web), start downloading the federated file.

Observe that the download does not start immediately (long waiting period), then suddenly starts and downloads quickly.

Expected behavior

Download should start immediately (normal TTFB), similar to local downloads.

Actual behavior
Download starts late (TTFB very high; e.g. ~1 minute delay for a ~300MB file), but once started it downloads fast.

Nextcloud Server version

32

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.3

Web server

Nginx

Database engine version

PostgreSQL

Is this bug present after an update or on a fresh install?

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
Key relevant settings verified:

davstorage.request_timeout = 3600 on both sides.

Reverse proxy config (NPM custom config) includes:

client_max_body_size 8G;

proxy_connect_timeout 3600;

proxy_read_timeout 86400s;

proxy_send_timeout 86400s;

send_timeout 86400s;

proxy_buffering off;

proxy_request_buffering off;

proxy_max_temp_file_size 0;

add_header X-Accel-Buffering no;
List of activated Apps
- group_everyone: 0.1.18
  - groupfolders: 19.1.12
  - impersonate: 2.0.0
  - logreader: 4.0.0
  - lookup_server_connector: 1.19.0
  - mail: 5.5.1
  - nextcloud-aio: 0.8.0
  - notifications: 4.0.0
  - notify_push: 1.2.1
  - oauth2: 1.19.1
  - password_policy: 3.0.0
  - passwords: 2025.9.20
  - privacy: 3.0.0
  - profile: 1.0.0
  - provisioning_api: 1.21.0
  - recommendations: 4.0.0
  - related_resources: 2.0.0
  - richdocuments: 8.7.7
  - serverinfo: 3.0.0
  - settings: 1.14.0
  - spreed: 21.1.5
  - support: 3.0.0
  - survey_client: 3.0.0
  - suspicious_login: 9.0.1
  - systemtags: 1.21.1
  - text: 5.0.0
  - theming: 2.6.1
  - twofactor_backupcodes: 1.20.0
  - twofactor_totp: 13.0.0-dev.0
  - updatenotification: 1.21.0
  - user_ldap: 1.22.0
  - user_saml: 7.0.0
  - user_status: 1.11.0
  - viewer: 4.0.0
  - weather_status: 1.11.0
  - webhook_listeners: 1.2.0
  - whiteboard: 1.4.2
  - workflowengine: 2.13.0
Disabled:
  - activity: 4.0.0 (installed 4.0.0)
  - announcementcenter: 7.2.1 (installed 7.2.1)
  - app_api: 5.0.2 (installed 4.0.6)
  - calendar: 5.5.4 (installed 5.5.4)
  - cfg_share_links: 7.0.1 (installed 7.0.1)
  - encryption: 2.19.0
  - files_antivirus: 6.0.7 (installed 6.0.7)
  - files_downloadactivity: 1.18.1 (installed 1.18.1)
  - files_trackdownloads: 1.11.0 (installed 1.11.0)
  - nextcloud_announcements: 3.0.0 (installed 1.16.0)
  - notes: 4.12.3 (installed 4.12.3)
  - photos: 4.0.0 (installed 2.5.0)
  - sharebymail: 1.21.0 (installed 1.17.0)
  - tasks: 0.16.1 (installed 0.16.1)
  - twofactor_nextcloud_notification: 5.0.0
  - user_migration: 8.0.0 (installed 8.0.0)
  - user_usage_report: 2.0.0 (installed 2.0.0)
Nextcloud Signing status

Nextcloud Logs

Additional info

Additional info

Client IP used in tests: 172.16.0.20
Quick curl timing tests to remote DAV (direct, authenticated) show low TTFB (e.g. ~0.22–0.35s using Range 0-0), so the latency seems specific to federated share download flow, not raw WebDAV serving.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the federated download and comparing its timing with the direct authenticated WebDAV curl tests described in the issue. Trace the federated share download flow to identify where the approximately 60-second delay occurs; done means large federated downloads begin with normal TTFB without regressing local downloads.

Written by the indexing model from the issue text.

Assessment

Tech stack
nginx, php, postgresql
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.