- なぜパフォーマンスチューニングとは? -
二つの理由で最終的な分析ではまず、システムのパフォーマンス向上のために、2番目は、成長しているビジネスニーズを満たすことです。
ハードウェアへの投資を節約の目的を達成するようにチューニングすることで、あなたは、ビジネスの発展の大きな数をサポートするために、より少ないハードウェアリソースを使用することができます。
一方、限られた資源をすることができ、状況の展開は、ユーザーがより良い経験を与え、システムの対応能力を向上させることはできません。
- パフォーマンスチューニングの3つのシステム -
私たちは私たちのパフォーマンスの最適化、ハードウェア、オペレーティングシステム、アプリケーションの間に焦点を当ててみましょう、これらの3つのシステムでは、それは詳細と、特定の最適化のアイデアをいくつかの注意が必要です。
1.ハードウェアの最適化。主にCPU、メモリ、ディスク、およびネットワークカードなどのハードウェアの選択のために。
2.オペレーティングシステムの最適化。主に、それは、オペレーティングシステムのパラメータ、カーネルパラメータ、プロセスパラメータ、ファイルシステム、ディスクIOなどが含まれています。
3.アプリケーションの最適化。その上のApache、nginxの、Redisのは、MySQL、keepalivedの、カフカと:これは、主のようなソフトウェアアプリケーションで構成されています。
以下は、三大拡張システムの最適化について説明します。
-1ハードウェアの最適化 -
ビジネス上のオンラインシステムの前に、まず、ハードウェアの購入を入力する必要があります。ハードウェア購入の標準機能は、業務システムとリソースの占有を実行することです。
たとえば、Aの場合:私たちはラインRedisのクラスタを設定する場合。
Redisのは、非常に大きなメモリフットプリントにより特徴付けられるメモリデータベースです。ハードウェアリソースの重要な考慮事項を購入する際に最初のメモリが第二のメモリリソースをスケーラブルになるように、大きい、メモリです。
ディスクスペースがあまりできませんしながら、Redisのディスクは、非常に頻繁に、読み取り、書き込み、およびません。調達ディスク、あなたはあまりにも多くのディスクスペースを必要とすることはできません、一般的なSASディスクをすることができます。
例II:私たちはライン上にしたい場合は、データベースシステムはありますか?
データベースシステムの特徴は、CPUを消費して、メモリもよりコスト、高いデータセキュリティ要件です。
あなたは、MySQL、SQLServerのかOralce、あなたは十分に速くCPU、十分なメモリ、十分な安定性と信頼性の高いハードドライブを構成するために必要なすべてのハードドライブは、RAIDを実行する必要があり、RAID10最高を使用しているかどうか。
- 2.オペレーティングシステムの最適化 -
接続する役割として、オペレーティングシステムとハードウェアのアプリケーション機能の間。
メモリ、IOの呼び出しメカニズム、ファイルシステム、プロセススケジューリングの効率的な利用の優先順位に関連する関連システムパラメータ。
私は、特定の最適化は、以下の態様を含む、「Linuxのパフォーマンス・チューニング・ガイド」の欄にLinuxベースのオペレーティングシステムのパフォーマンスの最適化に焦点を当てます。
オペレーティングシステムのインストール最適化
プロセス管理のチューニング
チューニングメモリリソース
IOスケジューラチューニング
ファイルシステムのチューニング
ネットワーク伝送チューニングを
硬化は、プログラム、ハードウェア(ファームウェア)までであり、底部は、ハードウェア・デバイス(ハードウェア)であるデバイスドライバ(ドライバ)に続いて、ハードウェアデバイスと対話するためのソフトウェア・プログラムの具体的な形態です。
カーネルはシステムの操作システムライブラリ、共有ライブラリの基本であるオペレーティングシステムレベルの一部は、最初にシステムのカーネル(カーネル)で、ライブラリが(ライブラリ)を提出しなければなりません。
トップ層は、そのようなので、上のMySQL、サンバ、FTPおよびなど(応用)当社がシステムにインストールされたシステム上で実行されている、各種アプリケーションソフト、アプリケーションです。
それは見ることができ、基礎となるハードウェアの最適化からオペレーティング・システムは、最適化のステップのプロセスにより上部ステップへソフトウェア・アプリケーションです。
- 3.アプリケーションの最適化 -
最も直感的なパフォーマンスは、ログからの異常で、その後、総合判定の最適化は、奇妙なのログに基づいて結論を出します。
最も簡単に見落とさコードの最適化、完全に不合理ないくつかのパフォーマンスの問題のためのコードです。あまりにも多くのサイクルのために、不必要な条件判断をたくさん作ったとえば、同じロジックが複数回などを繰り返しています。
コードレベルの除外後、我々はアーキテクチャレベル、設定パラメータおよび他の態様のレベルを考慮する必要があります。
アーキテクチャをチューニングする別リードを含み、レベルを書き込み、チューニングライブラリ複数のロード・バランシング、水平方向および垂直方向のサブライブラリーサブテーブルだけでなく、接続プールのチューニング、優れたトーンデータベースパラメータから意味します。
最後に、チューン単純合算アップによるMySQLデータベースどのような条件に焦点を当てる必要、
MySQLは最適化するコンパイラをインストールし
最適化するために、MySQLの設定ファイルを
MySQLのストレージエンジン最適化の
最適化テーブルタイプ(MyISAMテーブルやInnoDBの)
クエリキャッシュ最適化された
SQL文の最適化
ロック機構最適化された
MySQLサーバの最適化(オペレーティングシステムパラメータ、変更のSSDストレージ・ディスクなど)