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