Improve chunk upload AssemblyStream performance#26062
Merged
Merged
Conversation
|
@PVince81, thanks for your PR! By analyzing the annotation information on this pull request, we identified @DeepDiver1975, @LukasReschke and @nickvergessen to be potential reviewers |
Contributor
|
👍 |
1 similar comment
Member
|
👍 |
Contributor
Author
|
stable9.1: #26072 |
DeepDiver1975
pushed a commit
that referenced
this pull request
Sep 9, 2016
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The assembly stream's
steam_readmethod is usually called for every 8192 bytes by PHP.In the current code, it would call
fopen()on the chunk's node in every call, which means for every 8k bytes, which is very unefficient.This fix caches the stream until the end is reached before resolving the next node.
Related Issue
Partial fix for #25493
Motivation and Context
Chunk assembly is too slow in the new endpoint!
How Has This Been Tested?
Check out this other PR #25494 which contains the fix as well.
Upload a big file of around 60+ MB in the web UI in a subfolder.
Check the network console for the final "MOVE" of ".file".
Before: 20440ms
After: 600ms
Types of changes
Checklist:
Backports:
Please review @DeepDiver1975 @owncloud/filesystem