- Szycy
- 11 sierpnia 2026 16:21 UTC
- Autor
- kamo
- Pochęt się
- f1de4ec
Zaplecze jest teraz przesyłane strumieniowo do 3 GiB, ale trzy rzeczy w przeglądarce i BFF to zrobił Nieosiągalny, każdy śmiertelny sam w sobie. Serwer do przesyłania ’awaw request.formData()’), wyciągnął plik i przerobił sekundę FormData do przodu - całe przesłanie w stercie tego procesu, dwa razy. Teraz teraz przeciąga ciało Prosto z węzłem:http, ta sama konstrukcja, z której korzysta już serwer proxy czatu Aby przewieźć 3 GiB w produkcji. w węzeł:http zamiast pobierania, ponieważ undici stosuje nagłówki 300s Przejście na każde żądanie i wielokrotne wysyłanie dopłat do wielu gigabajtów znacznie dłużej niż na drutach Przed odpowiedzią będzie ConversionService – który ma hepulowy plik przed udzieleniem odpowiedzi – może odpowiedzieć; Przywip się, proxy zamiast produktu zadecyduje o maksymalnym rozmiarze pliku. computeBlake3(file) i computeSha3256(file) każdy plik połączenia.rayBuffer() i uploadery Sprawdziłem je w Promise.all, więc plik był w pełni rezydentem w zakładce TWICE w szczycie. W starym 500MB czapka, która była już gigabajtem pamięci karty; przy 3 GiB jest sześć, a zakładka umiera wcześniej a bate jest przesyłany. Zastąpiony z obliczemFileDigests, który raz przechodzi po pliku w 4 miB I karmi obiema pralki z tego samego kawałka - szczytowa pamięć jest o jeden kawałek w dowolnym rozmiarze, lustrzane HashUtils.computeDigests na serwerze. Oba trawienie są nadal obliczane, ponieważ przesyłanie Punkt końcowy rekomplikuje i porównuje oba; js-sha3 to czysty JavaScript i dominuje w czasie, który Jest to cena silniejszego sprawdzania po stronie serwera, więc haszowanie teraz zgłasza postęp, a nie Siedzenie na 2% przez kilka minut. MultiFileUploader nie miał żadnego limitu rozmiaru, więc ponadwymiarowy wybór spędził minuty, aby zarobić Nieprzezrozywalna porażka. Rozmiar jest teraz sprawdzany, zanim cokolwiek odczyta plik, a plik zostanie dodany w Sterowanie błędem na nazywanie zarówno jego wielkości, jak i limitem.