더 빠른 요청 응답
Categories:
유료 사용자는 AdGuard 개인 서비스를 사용하며, DNS 요청 경로는 다음과 같습니다:

경로를 분석하여 가장 빠른 응답 방식을 찾을 수 있습니다.
로컬 캐시 적중
가장 빠른 응답은 로컬 캐시 적중입니다. 로컬 캐시는 메모리 수준이므로 속도가 매우 빠르며, 몇 마이크로초만 소요됩니다.
이는 DNS 응답의 TTL(time to live) 값에 의해 제어되며, 일반적으로 몇 분에서 몇 시간까지 유효합니다. 이 시간 동안은 쿼리 결과가 유효하며 다시 쿼리할 필요가 없습니다.
제어판 -> 설정 -> DNS 설정 -> DNS 캐시 구성 -> 최소 TTL 값 재정의에서 최소 TTL 값을 설정할 수 있습니다. 이 값을 증가시켜 캐시 시간을 연장하면 시스템이 더 많은 로컬 캐시를 사용하게 됩니다. 일반적인 TTL 값은 600초입니다.
그러나 본 서비스는 동시에 필터링 기능을 제공합니다. 필요한 서비스가 광고 규칙에 의해 오탐지된 경우, 암호화 DNS를 일시적으로 중단하더라도 필요한 서비스에 즉시 접근할 수 없습니다. 로컬 캐시 결과가 필터 규칙에 의해 수정되었기 때문입니다. 따라서 60초로 설정하는 것이 비교적 안전한 값으로, 소수 사용자가 오탐지로 인해 암호화 DNS를 종료한 후 너무 오래 기다리지 않도록 보장합니다.
AdGuard DNS 서버
현재 본 서비스는 항저우에 위치한 알리바바 클라우드 서버를 사용하고 있으며, 대부분의 동부 지역 사용자의 낮은 지연 요구를 충족시킬 수 있습니다. 비즈니스 성장에 따라 향후 전국적으로 서버를 추가할 예정입니다.
서버 캐시 적중
기본적으로 각 사용자에게 4MB의 DNS 캐시를 설정했습니다. 경험상 이는 가정용으로 충분합니다. 이 설정을 자유롭게 수정하면 사용자 서비스가 강제로 중단될 수 있으므로, 본 사이트에서는 이 설정 수정 기능을 차단했습니다.
업스트림 DNS 서버
알리바바 클라우드 서비스를 사용하기 때문에 업스트림 DNS 서비스도 알리바바 클라우드 DNS 서비스를 선택했습니다. 속도가 매우 빨라 일반적으로 몇 밀리초 내에 결과를 반환합니다.
사용자는 세 가지 방식으로 업스트림 DNS 서버에 요청할 수 있습니다:
- 로드 밸런싱: 본 사이트는 기본적으로 로드 밸런싱을 사용하며, 가장 빠른 서버를 자동으로 선택하여 결과를 반환합니다.
- 병렬 요청: 본 사이트는 아직 병렬 요청 사용을 제한하지 않습니다.
- 가장 빠른 IP 주소: 현재 의미 없는 설정으로, 본 사이트에서는 이 설정 수정 기능을 차단했습니다.
가장 빠른 IP 주소가 왜 의미 없는지 설명하겠습니다. 가장 빠른 IP는 실제로 서비스를 접속하는 장치 자체가 선택해야 합니다. AdGuard 서비스가 항저우에서 실행되고 사용자가 베이징에 있을 때, AdGuard는 항저우의 IP 주소가 가장 빠르다고 판단하지만 실제로는 사용자가 베이징의 서비스에 접속하는 속도가 가장 빠릅니다. 항저우의 IP 주소를 선택하면 오히려 지연이 증가할 수 있습니다. 따라서 본 사이트에서는 이 설정 수정 기능을 차단했습니다. 이 설정은 사용자의 가정 네트워크에서는 유용할 수 있지만 공공 서비스에서는 의미가 없습니다.
네트워크 경험에 영향을 미치는 요소는 많습니다. 예를 들어 서버 측 대역폭, 네트워크 혼잡, 서버 부하, 네트워크 품질 등이 있습니다. 가장 빠른 IP 주소를 선택한다고 해서 가장 빠른 응답 속도가 보장되는 것은 아닙니다. 지연은 여러 요소 중 하나일 뿐 유일한 요소가 아닙니다. 사용자가 잘못된 설정으로 인해 서비스 품질이 저하되는 것을 방지하기 위해 본 사이트에서는 이 설정 수정 기능을 차단했습니다.
규칙 필터링
가장 일반적으로 사용되는 모드는 블랙리스트입니다. 사용자는 사전 설정된 블랙리스트 목록에서 선택할 수 있습니다. 블랙리스트 적중은 해시 알고리즘을 사용하며, 규칙 양과 관계없이 적중 시간은 O(1)입니다. 사용자는 규칙 양이 너무 많아 적중 시간이 길어지는 것을 걱정할 필요가 없습니다.
그러나 규칙 계산 후 메모리에 저장되며, 각 사용자 서비스의 메모리 사용은 300MB 이내로 제한됩니다. 이는 대부분의 사용자 요구를 충족시킬 수 있습니다. 사용자 규칙 양이 너무 많으면 메모리 부족으로 서비스가 반복적으로 재시작되어 서비스 중단이 발생할 수 있습니다.
본 사이트는 사용자가 과도한 규칙을 도입하는 것을 방지하기 위해 타사 규칙 사용을 일시적으로 차단했습니다. 향후 더 나은 제한 방법이 마련되면 타사 규칙 사용을 다시 개방할 예정입니다.
요약
더 빠른 요청 응답을 원한다면 사용자는 다음을 수행할 수 있습니다:
- 최소 TTL 값을 적절히 증가시켜 로컬 캐시 적중률을 높입니다.
- 적절한 DNS 캐시 크기를 설정합니다(이미 사전 설정됨).
- 지리적으로 가장 가까운 도시를 선택하여 서비스를 생성합니다(기업 성장 대기).
- 해외 접속 요구가 없다면 로드 밸런싱을 선택하고, 해외 접속 요구가 있다면 병렬 요청을 선택합니다.
- 자신에게 적합한 블랙리스트 규칙을 사용하고 과도한 규칙 도입을 피합니다.