더 빠른 요청 응답

더 빠른 요청 응답: 적절한 캐시 TTL, 업스트림 모드 및 지역 선택으로 첫 번째 패킷 지연 시간과 재시도율을 낮추어 주관적인 속도를 크게 향상시킵니다.

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

DNS 요청 경로

경로를 통해 가장 빠른 응답 방안을 분석할 수 있습니다.

로컬 캐시 적중

가장 빠른 응답은 로컬 캐시 적중입니다. 로컬 캐시는 메모리 수준이므로 매우 빠르며, 단 몇 마이크로초만 소요됩니다.

이는 DNS 응답의 TTL(time to live) 값에 의해 제어되며, 일반적으로 몇 분에서 몇 시간으로 설정되어 이 기간 동안 쿼리 결과가 유효하여 다시 쿼리할 필요가 없습니다.

제어판 -> 설정 -> DNS 설정 -> DNS 캐시 구성 -> 최소 TTL 값 덮어쓰기에서 최소 TTL 값을 설정하여 이 값을 증가시켜 캐시 시간을 연장할 수 있으며, 시스템이 로컬 캐시를 더 많이 사용하도록 할 수 있습니다. 일반적인 TTL 값은 600초입니다.

그러나 본 사이트는 동시에 필터링 기능을 제공하므로, 필요한 서비스가 광고 규칙에 의해 잘못 차단된 경우, 암호화 DNS를 일시적으로 비활성화하더라도 필요한 서비스에 즉시 액세스할 수 없습니다. 로컬 캐시 결과는 필터링 규칙에 의해 수정되었기 때문입니다. 따라서 60초로 설정하는 것이 비교적 안전한 값으로, 드물게 사용자가 잘못 차단된 경우 암호화 DNS를 비활성화한 후 너무 오래 기다리지 않도록 보장합니다.

AdGuard DNS 서버

현재 본 사이트는 항저우에 위치한 알리바바 클라우드 서버를 사용하여, 대부분의 동부 지역 사용자의 낮은 지연 시간 요구를 충족시킬 수 있으며, 사업이 성장함에 따라 향후 전국적으로 서버를 추가할 예정입니다.

서버 캐시 적중

기본적으로 각 사용자에게 4MB의 DNS 캐시가 설정되어 있으며, 경험상 이는 가정용으로 충분합니다. 이 설정의 자유로운 수정은 사용자 서비스가 강제로 중단될 수 있으므로, 본 사이트는 이 설정의 수정 진입점을 차단했습니다.

업스트림 DNS 서버

알리바바 클라우드를 사용하므로 업스트림 DNS 서비스도 알리바바 클라우드의 DNS 서비스를 선택했으며, 매우 빠르며 일반적으로 몇 밀리초 내에 결과를 반환합니다.

사용자는 세 가지 방식으로 업스트림 DNS 서버에 요청할 수 있습니다:

  1. 로드 밸런싱: 본 사이트는 기본적으로 로드 밸런싱을 사용하여 자동으로 가장 빠른 서버를 선택하여 결과를 반환합니다.
  2. 병렬 요청: 본 사이트는 현재 병렬 요청 사용을 제한하지 않습니다.
  3. 가장 빠른 IP 주소: 현재 의미 없는 설정이며, 본 사이트는 이 설정의 수정 진입점을 차단했습니다.

가장 빠른 IP 주소가 의미 없는 이유를 설명하면, 가장 빠른 IP는 실제로 서비스에 액세스하는 장치 자체가 선택해야 합니다. AdGuard 서비스가 항저우에서 실행되고 사용자가 베이징에 있는 경우, AdGuard는 항저우의 IP 주소가 가장 빠르다고 판단하지만, 실제로는 사용자가 베이징의 서비스에 액세스하는 속도가 가장 빠르며, 항저우의 IP 주소를 선택하면 지연 시간이 증가합니다. 따라서 본 사이트는 이 설정의 수정 진입점을 차단했습니다. 이 설정은 사용자의 가정 네트워크에서는 유용할 수 있지만, 공공 서비스에서는 의미가 없습니다.

네트워크 경험에 영향을 미치는 요소는 많으며, 예를 들어 서버 측 대역폭, 네트워크 혼잡, 서버 부하, 네트워크 품질 등이 있습니다. 가장 빠른 IP 주소를 선택한다고 해서 가장 빠른 응답 속도가 보장되는 것은 아니며, 지연 시간은 여러 요소 중 하나일 뿐 유일한 요소는 아닙니다. 사용자가 잘못 설정하여 서비스 품질이 저하되는 것을 방지하기 위해, 본 사이트는 이 설정의 수정 진입점을 차단했습니다.

규칙 필터링

가장 일반적으로 사용되는 모드는 블랙리스트이며, 사용자는 사전 설정된 블랙리스트에서 선택할 수 있습니다. 블랙리스트 적중은 해시 알고리즘을 사용하며, 규칙 수에 관계없이 적중 시간은 O(1)이므로 사용자는 규칙 수가 너무 많아 적중 시간이 길어질까 걱정할 필요가 없습니다.

그러나 규칙 계산 후 메모리에 저장되며, 각 사용자의 서비스 메모리 사용은 300MB로 제한됩니다. 이는 대부분의 사용자의 요구를 충족시킬 수 있으며, 사용자의 규칙 수가 너무 많으면 메모리 부족으로 인해 서비스가 반복적으로 재시작되어 서비스 중단이 발생할 수 있습니다.

본 사이트는 현재 타사 규칙 사용을 차단하여 사용자가 너무 많은 규칙을 도입하는 것을 방지하고 있습니다. 향후 더 나은 제한 수단이 마련되면 타사 규칙 사용을 다시 개방할 예정입니다.

요약

더 빠른 요청 응답을 원하는 사용자는 다음을 수행할 수 있습니다:

  1. 적절히 최소 TTL 값을 증가시켜 로컬 캐시 적중률을 높입니다.
  2. 적절한 DNS 캐시 크기를 설정합니다(이미 사전 설정된 값).
  3. 지리적으로 가장 가까운 도시에서 서비스를 생성합니다(기업 발전 대기).
  4. 해외 진출 요구가 없는 경우 로드 밸런싱을 선택하고, 해외 진출 요구가 있는 경우 병렬 요청을 선택합니다.
  5. 자신에게 적합한 블랙리스트 규칙을 사용하여 너무 많은 규칙을 도입하지 않도록 합니다.