より速いリクエストレスポンス
有料ユーザーはAdGuardプライベートサービスを利用し、DNSリクエストパスは以下の通りです。
パスに基づいて最速レスポンスソリューションを分析できます。
ローカルキャッシュヒット
最速のレスポンスはローカルキャッシュヒットです。ローカルキャッシュはメモリレベルであるため非常に高速で、わずか数マイクロ秒で完了します。
これはDNSレスポンスのTTL(time to live)値によって制御され、通常数分から数時間で、この期間中はクエリ結果が有効であり、再クエリは不要です。
コントロールパネル -> 設定 -> DNS設定 -> DNSキャッシュ設定 -> 最小TTL値の上書き
で最小TTL値を設定でき、この値を大きくすることでキャッシュ時間を延長し、システムがローカルキャッシュをより多く使用するようにします。一般的なTTL値は600秒です。
しかし、本サイトにはフィルタリング機能もあるため、必要なサービスが広告ルールによって誤ってブロックされた場合、一時的に暗号化DNSを無効にしても、必要なサービスにすぐアクセスできない可能性があります。なぜなら、ローカルキャッシュの結果はフィルタリングルールによって変更されているからです。そのため、60秒に設定することは比較的安全な値であり、誤ブロックが発生した場合でも、暗号化DNSを無効にした後、ユーザーが長時間待つことはありません。
AdGuard DNSサーバー
本サイトは現在、杭州のアリババクラウドサーバーを使用しており、東部地域のほとんどのユーザーに低レイテンシを提供できます。ビジネスが成長するにつれて、将来的に全国範囲でサーバーを増やす予定です。
サーバーキャッシュヒット
デフォルトで各ユーザーに4MBのDNSキャッシュが設定されており、経験上、これは1つの家庭での使用に十分です。この設定の自由な変更はユーザーサービスの強制終了を招く可能性があるため、本サイトではこの設定の変更エントリをブロックしています。
上流DNSサーバー
アリババクラウドサービスを使用しているため、上流DNSサービスもアリババクラウドのDNSサービスを選択しており、非常に高速で、通常数ミリ秒で結果を返します。
ユーザーは上流DNSサーバーにリクエストを送信する3つの方法があります:
- ロードバランシング:本サイトはデフォルトでロードバランシングを使用しており、自動的に最速のサーバーを選択して結果を返します。
- 並列リクエスト:本サイトは並列リクエストの使用を一時的に制限しません。
- 最速IPアドレス:現在意味のない設定であり、本サイトではこの設定の変更エントリをブロックしています。
なぜ最速IPアドレス
が意味がないかを説明します。最速IPは、実際にサービスにアクセスするデバイス自体によって選択される必要があります。AdGuardサービスが杭州で実行され、ユーザーが北京にいる場合、AdGuardは杭州のIPアドレスが最速だと考えますが、実際にはユーザーが北京のサービスにアクセスする方が最速であり、杭州のIPアドレスを選択することは逆にレイテンシを増加させます。そのため、本サイトではこの設定の変更エントリをブロックしています。この設定はユーザーの家庭ネットワークでは有用かもしれませんが、パブリックサービスでは意味がありません。
ネットワークエクスペリエンスに影響を与える要因は多数あります。例えば、サーバーバンド幅、ネットワーク混雑、サーバーロード、ネットワーク品質などです。最速のIPアドレスを選択することは最速のレスポンススピードを保証するわけではありません。レイテンシはその一つの要因に過ぎず、唯一の要因ではありません。ユーザーが誤った設定を行うことによるサービス品質の低下を避けるため、本サイトではこの設定の変更エントリをブロックしています。
ルールフィルタリング
最も一般的に使用されるモードはブラックリストであり、ユーザーは事前設定されたブラックリストから選択できます。ブラックリストのヒットはハッシュアルゴリズムを使用しており、ルール数に関わらず、ヒット時間はO(1)であり、ユーザーはルール数が多すぎることによるヒット時間の増加を心配する必要はありません。
しかし、ルール計算後はメモリに格納され、各ユーザーのサービスメモリ使用量は300MB以内に制限されています。これはほとんどのユーザーのニーズを満たしますが、ユーザーのルール数が多すぎる場合、メモリ不足が発生し、サービスが繰り返し再起動され、サービス中断が発生する可能性があります。
本サイトは現在、サードパーティルールの使用をブロックしており、ユーザーが大きすぎるルールを導入することを避けています。将来、より良い制限手段が整った後、サードパーティルールの使用を再開する予定です。
まとめ
より速いリクエストレスポンスを得るために、ユーザーは以下のことができます:
- 最小TTL値を適切に大きくし、ローカルキャッシュヒット率を向上させる。
- 適切なDNSキャッシュサイズを設定する(すでにデフォルト値が設定されています)。
- 地理的に最も近い都市でサービスを作成する(企業の発展に伴い実現予定)。
- 海外接続のニーズがない場合はロードバランシングを選択し、海外接続のニーズがある場合は並列リクエストを選択する。
- 自分に適したブラックリストルールを使用し、大きすぎるルールを導入することを避ける。