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