ホームページ  >  記事  >  運用・保守  >  概要: Linux サーバーのパフォーマンス調整に関する 20 のヒント

概要: Linux サーバーのパフォーマンス調整に関する 20 のヒント

Linux中文社区
Linux中文社区転載
2023-08-03 15:22:36954ブラウズ

概要: Linux サーバーのパフォーマンス調整に関する 20 のヒント
# #Linux Linux サーバーは、さまざまなハードウェア プラットフォームをサポートするオープン ソース オペレーティング システムです。Linux サーバーは世界的に有名です。Windows との主な違いは、Linux サーバーは通常、デフォルトで GUI (グラフィカル ユーザー インターフェイス) を提供せず、メインのコマンド ライン インターフェイスを提供することです。非対話型プロセスを効率的に処理することが目的であり、応答時間はそれほど重要ではなく、高負荷を長時間処理できることが最も重要です。


Linux の高可用性サーバー クラスター ソリューションを使用すると、IT システム管理者は多くの一般的なハードウェアおよびソフトウェアの障害に対処できるようになり、複数のコンピューターが連携して動作できるようになり、主要なサービスの正常な動作が保証され、システム管理者はサービスを中断することなくメンテナンスやアップグレードを実行できます。

Linux サーバーは、Web サーバーまたは社内ブランチ サーバー、CMS または CRS サーバー、ファイル サーバー (Windows および/または Linux ユーザーにサービス)、VoIP 電話サーバー、メール サーバーまたはドメイン ネーム サーバー、データベースなど、さまざまな目的に使用されます。クラウド コンピューティング構成のサーバー、インフラストラクチャ ノードなど。

Linux は機能が豊富で、強力で、柔軟性があります。これを使用してさまざまなタスクを完了できます。この記事では、Linux サーバーのパフォーマンスを向上させるためのヒントについて説明します。



#01
ディスク I/O 用の Linux カーネル エレベーター アルゴリズムのチューニング

##ファイル システムを選択した後、そのパフォーマンスに影響を与える可能性のあるカーネルとマウントのオプションがいくつかあります。カーネル設定の 1 つはエレベーター アルゴリズムです。エレベーター アルゴリズムを調整することで、システムのバランスを保つことができます。低パフォーマンス レイテンシ要件、ディスクへの読み取りおよび書き込みリクエストを効率的に整理するために十分なデータを収集します。


#02
#不要なデーモンを無効にする

##すべてのサーバー上で多くのデーモンやサービスが実行されていますが、皮肉なことに、多くの場合、不要で機能していないにもかかわらず、貴重なメモリと CPU 時間を消費しているものがあります。さらに、サーバーを危険にさらす可能性があります。サービスをもう 1 つ実行すると、ハッカーが侵入するためのドアがさらに開くことになります。したがって、サーバーからサービスを削除する必要があります。サービスを無効にする最大の利点は、起動時間を短縮できることです。サーバーのメモリを解放します。さらに、CPU が処理しなければならないプロセスの数を減らすことができ、デーモンの数が減れば攻撃や悪用される可能性のある脆弱性が減るため、サーバーのセキュリティが強化されることも利点です。

次に、無効にする必要がある Linux デーモンをいくつか示します。デフォルトでは、これらはすべて自動的に実行されます:


シリアル番号 デーモン プロセス 説明

1 Apmd 高度な電源管理デーモン2 Nfslock NFS ファイル ロックに使用
3 Isdn ISDN Moderm サポート
4 Autofs バックグラウンドで自動的にマウント ファイル システム ( CD-ROM の自動マウントなど)
5 Sendmail Mail Transfer Agent
6 Xfs X Window のフォント サーバー



03
GUI をオフにする

## 一般に、Linux サーバーには GUI は必要ありません。すべての管理タスクはコマンド ラインから実行できるため、GUI をオフにし、X 表示をリダイレクトするか、Web ブラウザ インターフェイスを通じて表示することが最善です。 GUI を無効にするには、「初期レベル」を 5 (グラフィカル ログイン) ではなく 3 (コマンド ライン ログイン) に設定する必要があります。GUI が必要な場合は、いつでも startx を実行してグラフィカル ユーザー インターフェイスに入ることができます。


0
4##不要なモジュールまたは関数をクリーンアップする
サーバー ソフトウェア パッケージ内に、実際には不要な有効な関数またはモジュールが多すぎます (Apache の多くの関数モジュールなど)。Apache 構成ファイルを注意深く確認してください。 FrontPage サポートやその他の追加モジュールが本当に必要かどうかを判断します。そうでない場合は、ためらうことなくサーバーからそれらを無効にする必要があります。これにより、利用可能なシステム メモリの量が増え、より多くのリソースが解放されます。本当に必要なソフトウェアを実行できるようにします。もっと早く。

05
コントロール パネルを無効にする

Linux には、Cpanel、Plesk、Webmin、phpMyAdmin などの一般的なコントロール パネルが多数あります。Linux ジュニア ユーザーは全員、これらのコントロール パネルを気に入っていると思います。ただし、これらのソフトウェア パッケージを無効にすると、約 120MB のメモリが解放される可能性があります。本当に必要な場合を除き、これらのコントロール パネルを無効にすることを強くお勧めします。これらは、PHP スクリプト (多少安全ではありませんが) またはコマンド ライン コマンドを通じて有効にできます。これを実行すると、メモリ使用量が約 30 ~ 40% 削減されます。


#06
Linux Exim の改善サーバーのパフォーマンス

##サーバーのパフォーマンスを向上させる方法はたくさんあります。サーバー Exim のパフォーマンスを向上させるための 1 つの方法は、DNS キャッシュ デーモンを使用することで、DNS レコードの解析に必要な帯域幅と CPU 時間を削減できます。DNS キャッシュにより、毎回ルート ノードから DNS レコードを検索する必要がなくなり、ネットワーク パフォーマンスが向上します。 DNS キャッシュ機能を備えた非常に強力な DNS サーバーです。Djbdns は、BIND DNS サーバーよりも安全でパフォーマンスが優れています。http://cr.yp.to/ から直接ダウンロードするか、Red Hat が提供するソフトウェア パッケージを通じて入手できます。 。


0
7##AES256 を使用して GPG ファイル暗号化のセキュリティを強化
バックアップ ファイルや機密情報のセキュリティを向上させるために、多くの Linux システム管理者は暗号化に gpg を使用します。 gpg を指定 AES256 暗号化アルゴリズムを使用します。AES256 は 256 ビット キーを使用します。これはオープンな暗号化アルゴリズムです。米国国家安全保障局 (NSA) は、極秘情報を保護するためにこれを使用しています。これほど安全なものはありません。


#08
リモート バックアップ サービスのセキュリティ

リモート バックアップ サービスを選択するとき、セキュリティは最も重要な要素です。ほとんどのシステム管理者は、(ハッカーが) バックアップ ファイルを削除できることと、バックアップからシステムを復元できないことの 2 つの点を懸念しています。

バックアップ ファイルの 100% のセキュリティを確保するために、バックアップ サービス会社は、scp スクリプトまたは RSYNC を使用して SSH 経由でデータを転送するリモート バックアップ サーバーを提供します。これにより、誰もリモート システムに直接入ってアクセスできなくなります。したがって、誰もリモート システムに直接入ってアクセスすることはできませんが、バックアップ サービスからデータを削除することができます。リモート バックアップ サービス プロバイダーを選択するときは、そのサービスの堅牢性をさまざまな側面から理解し、可能であれば自分でテストすることが最善です。


09
#デフォルトのカーネルパラメータ設定を更新
データベース サーバーなどのエンタープライズ アプリケーションをスムーズかつ正常に実行するには、いくつかのデフォルトのカーネル パラメータ設定を更新する必要がある場合があります。たとえば、2.4.x シリーズのカーネル メッセージ キュー パラメータ msgmni にはデフォルト値があります (たとえば、 、共有メモリ、または shmmax (Red Hat システムではデフォルトは 33554432 バイトのみ) で、データベースへの同時接続が制限されたもののみが許可されます。以下に、データベース サーバーをより適切に実行するための推奨値をいくつか示します (IBM DB2 サポート Web サイトより) ):



kernel.shmmax=268435456 (32 ビット) kernel.shmmax=1073741824 (64 ビット) kernel.msgmni= 1024 fs.file-max=8192 kernel.sem=”250 32000 32 1024″


10
##最適化 TCP
## TCP プロトコルを最適化すると、使用される帯域幅が大きくなり、ネットワーク スループットが向上します。 WAN 間通信の場合、遅延時間が長いほど、データ転送速度を上げるために、より大きな TCP Linux サイズを使用することをお勧めします。TCP Linux サイズは、送信側ホストがホストに送信できる量を決定します。データ送信の確認: 受信ホストが送信するデータの量。




#11
正しいファイル システムを選択してください

ext3

の代わりに ext4 ファイル システムを使用する



  • Ext4 は ext3 ファイル システムの拡張バージョンであり、ストレージ制限を拡張します

  • 高レベルのデータ整合性を保証するためのログ機能 (異常シャットダウンの場合)

  • In 異常なシャットダウンと再起動中にディスクをチェックする必要はありません (これは非常に時間のかかるアクションです)

  • 書き込み速度の高速化、ext4 ログの最適化ハードディスクヘッドの動き



12
##noatime ファイル システム マウント オプションを使用する
##外部ストレージを使用する場合は、ファイル システム起動設定ファイル fstab で noatime オプションを使用します。マウント オプションを使用すると、パフォーマンスを効果的に向上させることができます。

13
調整 Linuxファイル記述子の制限

Linux では、プロセスが実行できる内容が制限されます。オープン ファイル記述子。デフォルトの制限はプロセスあたり 1024 です。これらの制限により、クライアント (httperf や apachebench など) や Web サーバー自体のベンチマークから最適なパフォーマンスが妨げられる可能性があります。Apache は接続ごとに 1 つのプロセスを使用するため、単一のプロセスの影響を受けません。 Zeus などのプロセス Web サーバーは、接続ごとに 1 つのファイル記述子を使用するため、デフォルトの制限の影響を受けやすくなります。

オープン ファイル制限は、ulimit コマンドで調整できる制限です。ulimit -aS コマンドは現在の制限を表示し、ulimit -aH コマンドはハード制限を表示します (制限を調整する前に制限を増やすことはできません)。 /proc のカーネルパラメータ制限)。


Linux サードパーティ アプリケーションのパフォーマンスのヒント
Linux 上で実行されるサードパーティ アプリケーションのパフォーマンス最適化のヒントも多数あります。これらのヒントは、 Linux サーバーのパフォーマンスを向上させ、運用コストを削減するのに役立ちます。


14
##MySQL を正しく構成する
MySQL により多くのメモリを割り当てるには、次のように設定できます。 MySQL キャッシュ サイズ。MySQL サーバー インスタンスがより多くのメモリを使用する場合は、キャッシュ サイズを減らします。リクエストが増加すると MySQL が停滞する場合は、MySQL キャッシュを増やします。




#15
#Apache を正しく設定する
# Apache が使用するメモリ量を確認し、StartServers パラメータと MinSpareServers パラメータを調整してより多くのメモリを解放します。これにより、メモリを 30 ~ 40% 節約できます。
Linux サーバーの監視とトラブルシューティングを改善するためのヒントをいくつか紹介します:


16
分析 Linuxサーバーのパフォーマンス

##システム効率を向上させる最善の方法は、システムの重大なボトルネックを特定するための基本的なヒントをいくつか紹介します:
# OpenOffice や Firefox などの大規模なアプリケーションを同時に実行すると、コンピューターが起動し始めることがあります。が遅くなる場合は、メモリ不足の可能性が高くなります。
## ● 起動が非常に遅い場合は、アプリケーションの初回読み込みに時間がかかっている可能性があります。一度起動すると正常に実行されますが、そうでない場合は、ハードディスクが遅すぎる可能性があります。さらに、パブリック アカウント プログラマー Xiaole のバックエンドを検索し、「お金を稼ぐ」と返信すると、サプライズ ギフト パッケージが届きます。
#●CPU 負荷が引き続き高く、メモリは十分にありますが、CPU 使用率が非常に低いため、CPU 負荷分析ツールを使用してロード時間を監視できます。



17
学習 5 Linux パフォーマンス コマンド

## いくつかのコマンドを使用するだけでパフォーマンスを管理できますLinux システムの中で最も一般的に使用される 5 つの Linux パフォーマンス コマンド (top、vmstat、iostat、free、sar など) を以下に示します。これらは、システム管理者がパフォーマンスの問題を迅速に解決するのに役立ちます。


01 topTop コマンドは、現在のカーネル サービスのタスクを表示するだけでなく、ホストのステータスに関する多くの統計も表示します。デフォルトでは、表示データは 5 秒ごとに自動的に更新されます (この間隔は設定可能です)。top コマンドを通じて、現在の稼働時間、システム負荷、プロセス数、メモリ使用率などのいくつかの結果を知ることができます。さらに、このコマンドは、CPU 時間を最も使用しているプロセス (実行中のユーザー、実行されたコマンドなど、各プロセスのさまざまな情報を含む) も表示します。



02 vmstatVmstat コマンドは、現在の CPU、IO、プロセス、メモリ使用量のスナップショットを提供します。データ (例:




#$ vmstat 10
)


03 iostat

Iostat コマンド (Ubuntu、Red Hat/Fedora の sysstat パッケージに含まれています) 3 つのレポートCPU 使用率、デバイス使用率、およびネットワーク ファイル システム使用率が提供されます。パラメータを指定せずに実行すると、iostat はこれら 3 つのレポートを表示します。これら 3 つのレポートを個別に表示するには、-c、-d、および -h パラメータを使用します。

04 free

Free コマンドは、メイン メモリとスワップ領域のメモリ統計を表示します。合計メモリを表示するには、-t パラメータを指定します。 -b パラメータはバイト単位で表示できます。メガバイト単位で表示するには、-m を使用します。デフォルトではキロバイト単位です。

Free コマンドは、次のように、-s パラメーターに遅延時間 (単位: 秒) を加えて使用して継続的に実行することもできます。


##$ 無料 - 5




#05 sar


Sar コマンドは、パフォーマンス データを収集、表示、および記録します。このコマンドには、以前のコマンドよりも長い歴史があります。より長期間のデータを収集・表示できます。 #その他
「その他」に分類されるパフォーマンスのヒントをいくつか紹介します:


# #

18
ログに記録されますファイルはメモリに移動されます

##マシンが実行されているとき、システム ログをメモリに保持し、システムのシャットダウン時にハード ディスクにコピーすることをお勧めします。syslog 機能をオンにしてラップトップまたはモバイル デバイスを実行する場合、ramlog はシステムのバッテリの改善に役立ちます。モバイル デバイスのフラッシュ ドライブの寿命が長くなります。ramlog を使用する利点の 1 つは、デーモンが 30 秒ごとに syslog にメッセージを送信することを心配する必要がなくなったことです。以前は、ハードディスクは常に動作し続ける必要がありました。ハードディスクやバッテリーに良くありません。


#19
最初に梱包してから書き込み
ログ ファイルを保存するためにメモリ内の固定サイズの領域を分割します。これは、ラップトップのハード ドライブを実行し続ける必要がないことを意味します。デーモンがログを書き込む必要がある場合にのみ実行されます。メモリ領域に注意してください。 ramlog によって使用されます。サイズが固定されていると、システム メモリがすぐに使い果たされてしまいます。ノートブックがソリッド ステート ドライブを使用している場合、50 ~ 80 MB のメモリを ramlog に割り当てることができます。Ramlog は多くの書き込みサイクルを削減し、パフォーマンスを大幅に向上させることができます。ソリッドステートドライブの耐用年数。



20
一般的なチューニングヒント




######################################################################################################################################################天気予報や、1 時間ごとに更新する必要があるその他のデータを生成している場合は、ユーザーが CGI を実行して動的にレポートを生成するのではなく、1 時間ごとに静的ファイルを生成するプログラムを作成することをお勧めします。 ######動的アプリケーションには、最速で最も適切な API を選択してください。CGI はプログラムするのが最も簡単かもしれませんが、リクエストごとにプロセスを生成します。通常、これはコストがかかり、不必要なプロセスです。FastCGI の方が良い選択です。 、Apache の mod_perl と同様に、アプリケーションのパフォーマンスを大幅に向上させることができます。 #########

以上が概要: Linux サーバーのパフォーマンス調整に関する 20 のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はLinux中文社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。