膨大なユーザー・トラフィックを受け取ったときに Web サイトがどの程度効率よく対処できるかということは、 組織の全体的な成功における重大な要因です。 このトピックでは、製品機能の組み合わせやアプリケーション開発における考慮事項に基づいてパフォーマンスを改善するための、いくつかの主要な方法に焦点をあてて説明します。
Load Balancer の manager 機能では各サーバーの重みを計算します。サーバーが同じクラスターおよびポート構成内の他のサーバーと比較して、いくつの接続を受け取るかを判別するために、これらの重みを使用します。manager 報告書を理解することは、ネットワーク・トラフィックがどのように分散されるかを理解するうえで重要です。
全体パフォーマンスを最適化するために、manager が executor と対話する頻度が制限されます。この間隔は、dscontrol manager interval コマンドと dscontrol manager refresh コマンドを入力することで変更できます。
manager は、advisor および Load Balancer から提供される状況情報の重要度を判断するために、比率を使用します。manager が使用するデフォルトの比率を変更して、この情報に重みをつけることができます。
重みは、サーバー上のすべてのポートに適用されます。特定ポートについて、要求は相互に相対的な重みに基づいてサーバー間で分散されます。例えば、一方のサーバーが重み 10 に設定され、他方が 5 に設定されると、10 に設定されたサーバーは 5 に設定されたサーバーの 2 倍の要求を得るはずです。
TCP リセット機能は、重みが 0 のサーバーに接続されているクライアントに対して TCP reset を送信します。サーバーの重みが 0 になるのは、そのサーバーが 0 に構成されている場合、または、advisor が、サーバーがダウンしているとマークしている場合です。
Load Balancer は、マシンに構成されたすべてのインターフェースおよび IP アドレスに関する情報を必要としますが、この情報は手動で取得するか、自動的に更新されるように構成することができます。
最高速で働くために、サーバーの重みが大幅に変わった場合にだけそれが更新されます。サーバー状況にほとんど変更がないのに、絶えず重みを更新すると、無用なオーバーヘッドを生むことになります。
平滑化指標は、サーバーの重みが変われる量を制限し、要求の分散における変更を効率的に平滑化します。
ステイル・タイムアウトに指定された秒数の間にその接続でアクティビティーがなかった場合、接続は失効したものと見なされます。アクティビティーなしでその秒数を過ぎると、Load Balancer はその接続レコードをテーブルから除去し、その接続での後続のトラフィックは廃棄されます。staletimeout コマンドにより、Load Balancer がアイドル接続と関連の接続レコードを処理する方法を制御します。