ECS: Zapis dużych plików kończy się niepowodzeniem z 500 błędami dla protokołu S3
요약: Zapisywanie dużych plików kończy się niepowodzeniem z 500 błędami dla protokołu S3.
이 문서는 다음에 적용됩니다.
이 문서는 다음에 적용되지 않습니다.
이 문서는 특정 제품과 관련이 없습니다.
모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.
증상
Zapisywanie dużych plików (wielu GB lub większych) przy użyciu protokołu S3 kończy się niepowodzeniem z błędami 500.
원인
Używanie "HTTP PUT" lub "HTTPS PUT" do zapisywania plików w ECS. Polecenie S3 PUT nie dodaje obiektu częściowo, żądanie jest udanym lub nieudanym zapisem (wszystko lub nic).
W ramach operacji typu "wszystko albo nic" każde zakłócenie podczas przesyłania danych dużego pliku powoduje całkowite niepowodzenie tego zapisu. Jedynym zasobem w przypadku tego niepowodzenia jest ponowienie próby całej operacji zapisu z nadzieją, że zakończy się ona powodzeniem przy następnej próbie.
W ramach operacji typu "wszystko albo nic" każde zakłócenie podczas przesyłania danych dużego pliku powoduje całkowite niepowodzenie tego zapisu. Jedynym zasobem w przypadku tego niepowodzenia jest ponowienie próby całej operacji zapisu z nadzieją, że zakończy się ona powodzeniem przy następnej próbie.
해결
W przypadku dużych plików (GB lub większych) zaleca się użycie funkcji Multi Part Uploads (MPU) zamiast operacji PUT. Zalecenie to ma na celu uniknięcie długich czasów ukończenia zapisu (100 MB lub więcej, zgodnie z najlepszymi praktykami AWS).
Przykład:
Plik o rozmiarze 80 GB zostanie podzielony na fragmenty, a każdy fragment jest wysyłany do ECS. Jeśli przesłanie którejkolwiek z części nie powiedzie się, ponowiona zostanie tylko próba przesłania pojedynczej części, a nie całego obiektu.
Oczekuje się, że wydajność MPU będzie lepsza niż pojedynczego dużego PUT, ponieważ operacje MPU mogą być wielowątkowe. W rezultacie, użycie MPU lepiej wykorzystuje wiele połączeń i przepustowość. Oznacza to, że można wysłać więcej niż jedną część jednocześnie, co poprawia ogólną wydajność przy zapisie dużych plików.
Przykład:
Plik o rozmiarze 80 GB zostanie podzielony na fragmenty, a każdy fragment jest wysyłany do ECS. Jeśli przesłanie którejkolwiek z części nie powiedzie się, ponowiona zostanie tylko próba przesłania pojedynczej części, a nie całego obiektu.
Oczekuje się, że wydajność MPU będzie lepsza niż pojedynczego dużego PUT, ponieważ operacje MPU mogą być wielowątkowe. W rezultacie, użycie MPU lepiej wykorzystuje wiele połączeń i przepustowość. Oznacza to, że można wysłać więcej niż jedną część jednocześnie, co poprawia ogólną wydajność przy zapisie dużych plików.
추가 정보
Zasoby dla deweloperów aplikacji przechodzących z PUT na użycie MPU:
TransferManager (AWS SDK for Java — 1.12.588) (amazon.com)
Omówienie MPU AWS: (zawiera najlepsze praktyki dotyczące MPU)
Przesyłanie i kopiowanie obiektów przy użyciu przesyłania wieloczęściowego - Amazon Simple Storage Service
해당 제품
ECS Appliance제품
ECS Appliance문서 속성
문서 번호: 000048288
문서 유형: Solution
마지막 수정 시간: 08 9월 2025
버전: 5
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.