이미지 압축기

친구 여러분,

디스코스에 큰 이미지들을 저장하는 데 도움이 되는 솔루션이 있을까요? 구체적으로, 사용자가 이미지를 업로드할 때 자동으로 이미지 크기를 줄여주는 옵션이 있는지, 혹은 그보다 덜 선호하지만 몇 달마다 SSD에 저장된 이미지를 더 작은 버전으로 교체하는 방법이 있는지 궁금합니다.

장기적으로 모든 큰 이미지를 SSD에 그대로 유지하는 것은 현명하지 않다고 생각해요.

현재(포럼을 막 시작한 상태)는 매달 1GB씩 추가 용량이 필요합니다.

감사합니다.

여기서 최적의 솔루션은 업로드 파일을 서버에 전혀 저장하지 않는 것입니다.

S3나 유사한 서비스를 사용해 본 적 있으신가요? S3 앞에 CDN을 배치하면 전송 비용을 최소화할 수 있습니다. 로컬 SSD보다 훨씬 저렴합니다.

알겠습니다. 답변해 주셔서 감사합니다, @Stephen. 현재는 Amazon Lightsail을 사용 중인데, 가격이 꽤 저렴합니다. 5달러 플랜으로 40GB SSD를 사용하고 있어요. 아마 첫 1년 정도는 충분할 것 같습니다.

그래도 장기적인 해결책을 찾고 싶었습니다. 요즘 기술(제 웹사이트에서 수동으로 하고 있는 방식처럼)을 사용하면 3MB 이미지가 60KB 정도로 최소화됩니다(해상도도 함께 변경하죠). 이 방식을 Discourse에도 적용하면 40GB 용량이 영원히 지속될 것 같습니다! 하지만 자동으로 하기는, 심지어 수동으로 하기도 그리 간단하지는 않을 것 같네요 :laughing:

네, 최대 이미지 크기와 변환 품질을 제어하는 사이트 설정이 여러 개 있습니다 – 검색해 보세요.

또한, 이 사이트 설정이 변경되기 전에 업로드된 “크기가 너무 큰” 이미지들을 찾아서 크기를 조정하는 rake 태스크도 있지만, 이것이 공개되어 있는지 @cvx 님께 확인이 필요합니다.

안녕하세요,

이미지를 서빙하기 위해 클라우드 스토리지(S3)와 CDN를 설정하는 것 외에도, 이미지가 S3에 저장되기 전에(또는 저장된 후에) 진행형 JPEG로 압축 변환하는 데 경험이 있으신 분이 계신가요?

이미지가 많은 디스커스(Discourse) 인스턴스를 운영하고 있다면, http://webpagetest.org/가 진행형 JPEG를 사용하지 않는다고 반복적으로 경고합니다. 사용자가 게시글에 이미지를 업로드하는 경우, 게시 전후로 수동으로 이미지를 변환/압축하기가 어렵습니다.

서버리스 Lambda 함수를 사용하여 AWS S3 버킷에서 이미지 최적화를 수행하는 몇 가지 방법을 찾았습니다.

유료 옵션:

직접 구축(DIY) 옵션:
https://developer.happyr.com/aws-lambda-image-optimization-with-serverless

여러분의 경험을 듣고 싶습니다.

감사합니다.