Lassen Sie Dokument-Uploads tatsächlich erreichen die 3 GiB Backend-Decken

Fixkamo-internal
Verschifft
11. August 2026 um 16:21 UTC
Autor
kamo
Ausschuss
f1de4ec

Das Backend streamt jetzt auf 3 GiB, aber drei Dinge im Browser und der BFF gemacht, dass unerreichbar, jeder für sich verhängnisvoll. Der Upload-Proxy hat "await request.formData() ", zog die Datei heraus, und baute eine zweite FormData zur Vorankunft - der gesamte Upload im Haufen dieses Prozesses, zweimal. Es pffeift jetzt den Körper geradeaus mit node:http, die gleiche Konstruktion, die der Chat-Anhaftungsvollsistent bereits verwendet 3 GiB in der Produktion zu tragen. node:http anstatt zu holen, weil undiziwendet eine 300er-Header Timeout zu jeder Anfrage, und ein Multi-Gigabyte-Upload verbringt viel länger als die auf dem Draht bevor ConversionService - der die gesponnene Datei vor der Beantwortung hat - antworten kann; mit holen, würde der Proxy und nicht das Produkt die maximale Dateigröße festlegen. computeBlake3(file) und computeSha3256(file) jeder Aufruf file.arrayBuffer(), und die Uploader lief sie in einem Promise.all, so dass die Datei war voll in der Registerkarte TWICE auf Peak. Bei der alten 500MB Kappe, die bereits ein Gigabyte Tab-Speicher war; bei 3 GiB ist es sechs und die Registerkarte stirbt vor ein Byte wird hochgeladen. Ersetzt durch computeFileDigests, das die Datei einmal in 4 MiB-Scheiben geht und füttert beide Hasher aus dem gleichen Stück - Peak Memory ist ein Stück in jeder Größe, Spiegelung HashUtils.computeDigests auf dem Server. Beide Digests sind immer noch berechnet, weil der Upload endpoint recomputiert und vergleicht beides; js-sha3 ist reines JavaScript und dominiert die Zeit, die ist der Preis für die stärkere Server-Seite überprüfen, so hashing jetzt berichtet Fortschritte statt Minuten bei 2% sitzen. MultiFileUploader hatte keine Größenbegrenzung überhaupt, so dass eine übergroße Pick verbrachte Minuten hashing, um eine zu verdienen undurchsichtiges Versagen. Die Größe wird nun geprüft, bevor irgendetwas die Datei liest, und die Datei wird in der Fehlerstufe, die sowohl ihre Größe als auch das Limit benennt.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen