31.3. オペレーティングシステムのパフォーマンスチューニング

最近のオペレーティングシステムの多くには、 リアルタイムで CPU、 メモリ、 ハードディスク、 ネットワーク使用率を監視するためのパフォーマンスチューニングツールやプロファイリングツールが含まれています。
Windows では、 システムパフォーマンスのボトルネックの特定にタスクマネージャとパフォーマンスモニターを利用できます。 Unix ベースのオペレーティングシステムでは、 topps が使用されます。 Red Hat Enterprise Linux や Fedora などの Linux ディストリビューションは、 システムパフォーマンスの監視に便利なグラフィカルユーザーインターフェース System Monitor を提供します。
オペレーティングシステムのパフォーマンスチューニングとは個別の要求に対応するリソース管理のことです。 オペレーティングシステムのスケーラビリティの管理には、さまざまな量の要求(少量から大容量)でリソース消費の管理が必要となります。
ユーザー要求への応答時間、 データベース、 ネットワーク、 CPU、 メモリパフォーマンスなど、ビジネスにとって重要な全体的な操作パフォーマンスメトリックスを特定し、 テストする必要があります。 また、 可能な場合はリアルタイムまたはシステムデプロイメントでログするようにしなければなりません。
クラスター化された環境では、 システムの障害を防ぐためにクラスターのパフォーマンスを理解して監視し、 オーバーロードを初期に特定することが重要となります。

31.3.1. ネットワーキング

ネットワーク設定がパフォーマンスのボトルネックと原因となることがありますが、 検出するのが難しい場合があります。 例えば、 アナログ回線上で Web アプリケーションのロードを試行し、同じページをブロードバンドのインターネット接続でロードするとブラウザーにエラーメッセージが表示されることがあります。 この例では、 問題が帯域幅であってもエラーメッセージには明確に表示されないことがあります。
そのため、 ネットワークアーキテクチャとインフラストラクチャーを特定することが、 パフォーマンスチューニングとシステムのボトルネック修正に重要となります。
近年のオペレーティングシステムの多くはネットワークハードウェア設定ツールを提供します。 ドライバーに拡張ネットワークハードウェア設定ツールを提供するハードウェアのメーカーもあります。
多くのオペレーティングシステムは微調整が可能な異なる通信プロトコルをサポートしています。 ネットワークの設計には、 TCP バッファーメモリ領域、 接続バッファー制限、 確認オプションなどの要素が考慮されなければなりません。
Web サーバーにおける DNS ルックアップの有効化または無効化の決定は、 パフォーマンスにも影響しますが、 高セキュリティ環境では有効にする必要があるでしょう。 これを考慮し、 必要なリソースやハードウェアを割り当てることでシステムのパフォーマンスを向上できます。