업로드가 시간 초과되거나 매우 느립니다

지난 몇 주 동안 사이트에서 첨부파일 업로드 속도가 매우 느려지는 것을 확인했습니다. 때로는 업로드가 시간 초과로 실패하기도 합니다(아래 관련 로그 참조). 제 환경은 S3용 DigitalOcean Spaces와 CDN용 Bunny.net입니다. 또한 새로운 composer media optimization image enabled 옵션도 활성화했지만, 이 옵션을 켜기 전에도 이런 문제가 발생했던 것 같습니다. 이 문제를 재현하는 것이 쉽지 않습니다. 혹시 아이디어가 있으신가요?

Timeout log
DistributedMutex("optimized_image_32792_50_33"): held for too long, expected max: 60 secs, took an extra 66 secs

Message (122 copies reported)

DistributedMutex("optimized_image_32792_50_33"): held for too long, expected max: 60 secs, took an extra 66 secs

Backtrace

/var/www/discourse/lib/distributed_mutex.rb:54:in `warn'
/var/www/discourse/lib/distributed_mutex.rb:37:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/app/models/optimized_image.rb:18:in `lock'
/var/www/discourse/app/models/optimized_image.rb:68:in `create_for'
/var/www/discourse/app/models/topic_thumbnail.rb:21:in `find_or_create_for!'
/var/www/discourse/app/models/topic.rb:104:in `block in generate_thumbnails!'
/var/www/discourse/app/models/topic.rb:103:in `each'

서버의 CPU 자원이 부족합니까?

참고로 이 문제는 S3/CDN/Composer 최적화와는 무관하며, 이는 일반적인 서버 측 이미지 처리 파이프라인입니다.

아니요, 지난 1주일 동안 CPU는 60%, 메모리는 50%, 디스크는 30%를 초과하지 않았습니다…

여전히 심각한 문제가 발생하고 있습니다. 최신 버전으로 업데이트하고 안전 모드를 사용해 보았지만 도움이 되지 않았습니다. enable s3 uploads를 꺼보니 문제가 실제로 사라집니다. 혹시 해결 방법이 있을까요?

Amazon S3를 먼저 사용해 보시는 것을 추천드립니다.

그렇게 하면 문제가 해결된다면, 이는 Digital Ocean의 버그입니다.

DigitalOcean은 얼마 전 암스테르담에서 S3 관련 큰 문제를 겪었습니다 (제가 DigitalOcean을 사용하기 시작한 이유는, 거기서 일했던 친구가 그곳이 가장 좋은 데이터센터라고 해서였지만, 상황은 변하고 지금은 그 친구가 Google에서 일하고 있습니다).

그래서 저도 다른 S3 서비스를 추천하려 했었습니다.

https://status.digitalocean.com/ 를 보면 지난 며칠 동안 sfo2에서 spaces 관련 문제가 발생하고 있는 것으로 표시됩니다. "해결됨"이라고 되어 있지만, 저는 더 이상 spaces를 추천하지 않습니다…

네, 맞습니다. 그래서 프랑크푸르트로 이전했습니다. 그 이후로는 아무 문제 없이 잘 작동하고 있습니다. AMS3과 SFO2는 항상 많은 문제, 유지보수 및 가용성 문제가 있습니다.

다들 감사합니다. 샌프란시스코의 DO 스페이스가 문제인 것 같습니다. 일단 뉴욕으로 전환했고, 더 문제가 생기면 아마존으로 돌아가는 것도 고려해 볼 것입니다. 기존 이미지를 새 스페이스로 재매핑하려면 어떻게 해야 하나요? 그냥 리베이킹을 하면 되나요? 모든 파일을 새 스페이스로 복사해 두었습니다.