모범 사례
Shifter가 여러분의 프로젝트에 맞는지 알아보는 가장 빠른 방법은 실제 워크로드, 즉 프로덕션에서 실행할 것과 동일한 요청을 실행하고 그 결과를 정직하게 읽는 것입니다. 다음 방법들은 오해를 부르는 테스트가 아니라 깨끗하고 대표성 있는 테스트를 얻는 데 도움이 됩니다.
작업에 맞게 로테이션 설정하기
섹션 제목: “작업에 맞게 로테이션 설정하기”IP를 어떻게 로테이션할지는 작업의 요구사항에 따라 결정해야 합니다.
- 요청별 로테이션(기본값): 게이트웨이
p.shifter.io:443를 통한 모든 요청마다 새로운 레지덴셜 IP가 사용됩니다. 스크래핑, 크롤링, 가격 수집, SERP 작업 등 각 요청이 독립적으로 처리되는 작업에 가장 적합합니다. - 스티키 세션: 세션 id(
sid)와 유효 시간(ttl)을 사용해 정해진 시간 동안 동일한 IP를 유지합니다. 로그인, 장바구니, 결제 등 한 IP를 계속 유지해야 하는 다단계 흐름에 가장 적합합니다. 예를 들어customer-USERNAME-sid-9f3a2b7c-ttl-600은 약 600초 동안 하나의 IP를 유지합니다.
경험칙: 각 단계가 서로 의존적이라면 세션을 사용하고, 그렇지 않다면 로테이션을 사용하세요. 자세한 내용은 세션에서 확인하세요.
올바른 위치 타겟팅하기
섹션 제목: “올바른 위치 타겟팅하기”많은 사이트가 위치에 따라 콘텐츠, 가격, 재고 여부를 다르게 표시합니다.
- 대상이 지역에 민감하다면 국가, 지역, 도시, 또는 ASN으로 타겟팅하여 테스트가 해당 시장의 실제 사용자가 보는 화면을 반영하도록 하세요. 예를 들어
customer-USERNAME-country-us-state-newyork-city-newyork처럼 설정합니다. - 사용 사례에서 위치가 중요하지 않다면 타겟팅 범위를 넓게 유지하세요. 지나치게 좁히면 사용 가능한 IP 풀이 줄어들어 이점 없이 성공률만 낮아질 수 있습니다.
모든 파라미터는 지역 타겟팅을 참고하세요.
요청 속도 조절하기
섹션 제목: “요청 속도 조절하기”부하를 분산시키는 것이 대개 강력한 테스트와 부실한 테스트를 가르는 차이가 됩니다.
- 하나의 대상에 집중 공격하기보다 요청을 시간과 IP에 걸쳐 분산시키세요. 요청별 로테이션에서는 이미 IP가 계속 바뀌므로, 주로 조절할 수 있는 것은 동시성과 타이밍입니다.
- 적당한 동시성으로 시작해 성공률을 지켜본 뒤 점차 늘려가세요. 더 강하게 밀어붙일 때 성공률이 떨어진다면, 이는 프록시 한계가 아니라 해당 대상에 비해 속도가 너무 빠른 것입니다.
- 작고 다양한 지연을 추가하고, 실패한 요청은 새로운 IP로 재시도하세요. 로테이션 환경에서는 재시도가 자연스럽게 다른 출구 IP로 이어지므로, 차단은 가벼운 신호로 받아들이고 속도를 늦춰 재시도하며 계속 진행하세요.
워크로드에 맞는 제품 선택하기
섹션 제목: “워크로드에 맞는 제품 선택하기”잘못된 제품을 선택하는 것이 트라이얼 성과가 저조한 가장 흔한 원인입니다.
- 레지덴셜 프록시: 로테이팅 레지덴셜 IP를 사용해 트래픽이 많은 실제 사용자처럼 보이게 합니다. 스크래핑, 모니터링, 광고 검증, 시장 조사, SERP 수집에 적합합니다.
- ISP 프록시: 며칠에서 몇 주 동안 동일한 전용 IP를 사용합니다. 계정 관리, 긴 결제나 로그인 세션, 화이트리스트 IP 연동에 적합합니다.
확신이 서지 않는다면 제품 선택하기를 참고해 단계별로 진행하세요.
결과 읽기
섹션 제목: “결과 읽기”몇 번의 테스트 호출이 아니라 실제 수치를 기준으로 판단하세요.
- 프로덕션 수준의 물량에서 성공률과 데이터 품질을 확인하세요. 소수의 실패는 정상이며, 규모가 커졌을 때의 비율이 중요합니다.
- 프록시를 통해
ipinfo.io와 같은 IP 에코 엔드포인트에 요청을 보내 IP와 국가를 확인함으로써 원하는 출구 IP가 맞는지 검증하세요. - 결과가 이상해 보인다면 네트워크 탓을 하기 전에 세 가지를 확인하세요. 로테이션 대 세션 설정이 작업에 맞는지, 타겟 위치가 올바르게 설정되었는지, 동시성이 너무 높지 않은지입니다.
테스트가 트래픽, 타겟, 타이밍 면에서 프로덕션을 더 많이 반영할수록 트라이얼이 실제로 알려주는 정보도 늘어납니다. 실제 상황처럼 설정하면 결정은 저절로 내려집니다.