Skip to content

[Question] MSIX installation efficiency with hundreds of files in a package #677

@lezzi

Description

@lezzi

Context

When MSIX package is installed from a remote HTTPS source, Delivery Optimization service downloads necessary chunks using partial HTTP 206 requests. The desired chunk size used by DO is usually 1MB, but in real life, smaller files in a package lead to much smaller range requests.

For example, in the worst case scenario when a package contains 5000 tiny files it results into 5000 sequential range requests. This essentially kills the install performance.

Question

For some reason MSIX/DO download each file separately instead of combining them into a single 1MB range request. Why is it happening and is it something that is possible to optimize somehow?

  • I suspect it is due to LFH (local file headers), but at the same time it should be possible to download redundant LFH and ignore them.
  • Similar MS Store downloads use a different strategy and are not affected by this problem. I can see consistent 1MB chunk downloads for MS Store.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs-TriageIssue needs to be triaged by a member of the core team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions