트래픽 급증을 처리하기위한 두 가지 일반적인 전략이 있습니다 : 용량 증가 및 비용 절감.
용량 증가는 자동 확장을 의미하며, 퍼블릭 클라우드를 처음 사용할 수있게되었을 때 모든 사람이 매우 흥분했습니다. 가장 기본적인 의미에서 이것은로드를 기반으로 더 많은 웹 서버를 부팅하여로드 밸런서에 추가하지만 관리가 어려울 수 있으므로 Elastic Beanstalk와 같은 더 많은 자동 솔루션이 있습니다.
자동화 된 용량 확장의 문제점은 자동화 된 청구서 확장 (10 배의 일반 트래픽은 10 배의 서버가 10 배의 돈을 지불해야 함을 의미 함)입니다. 그렇기 때문에 명심해야 할 유용한 전략이기는하지만 항상 얼마나 많은 사기를 할 수 있는지 보는 것부터 시작해야한다고 생각합니다.
속임수 란 캐시를 의미합니다. 대부분의 경우 사용자에게 약간 오래된 데이터를 제공 할 수 있으며 사용자가 눈치 채지 못하므로 엄청난 시간을 절약 할 수 있습니다. 5 초가 지나도 괜찮다고 결정한 페이지가 있고 20 req / s를 얻는다고 상상해보십시오. 캐싱을 사용하지 않으면 분당 1200 회 계산을 수행하는 반면 캐싱을 사용하면 12 개에 불과합니다. 이것이 어떻게 큰 차이를 만들 수 있는지 알 수 있습니다.
물론 많은 유형의 캐싱이 있으며 성공적인 웹 사이트는 여러 가지 캐싱을 사용합니다. 그러나 유스 케이스에는 두 가지 매우 좋고 쉬운 옵션이 있습니다.
첫 번째는 사이트를 완전히 정적으로 만드는 것입니다. 이것은 당신이 그렇게 할 수 있다고 가정하지만, 당신이 할 수 있다면, 당신은 단지 Nginx에 직접 HTML을 제공해야하고,이 역할을 할 수 t 없이 땀 요청합니다.
어느 정도의 역 동성이 필요한 경우 전체 페이지 캐싱을 수행하는 것이 좋습니다. Nginx는이 기능을 수행 할 수 있지만 유연성 때문에 Varnish를 좋아합니다.
어떤 옵션을 사용하든로드 테스트를 수행하여 올바르게 설정했는지 확인하십시오. 때때로 한 지점을 고정하면 새로운 병목 현상이 나타납니다.