仮想アプリケーションを高速化する5つの方法

著者: Laura McKinney
作成日: 2 4月 2021
更新日: 1 J 2024
Anonim
インターネット高速化 3つのポイント【仕組み】【遅い原因】【Wi-Fi早くする方法】
ビデオ: インターネット高速化 3つのポイント【仕組み】【遅い原因】【Wi-Fi早くする方法】

コンテンツ


ソース:Viktorus / Dreamstime.com

取り除く:

銀行を壊すことなく仮想アプリケーションを高速化する5つのテクニックを学びます。

アプリケーションやデスクトップを仮想化する際のフラストレーションの1つはパフォーマンスです。起動後、アプリケーションが表示されるまで1〜2秒以上待つことを望む人はいません。ユーザーとして、アイコンをダブルクリックするとすぐにアプリケーションが表示されます。サーバー間、ファイアウォール経由、ロードバランサー経由、無線経由、または有線経由でデスクトップやモバイルデバイスにこれらのアプリケーションを配信するためにバックグラウンドで何が行われているのかを認識していません。より良い、より速く、より安全な技術を約束して、私たちの集団的な忍耐は薄くなりました。そして、ベンダーとサポートスタッフの両方からの「立ち上がるか黙る」瞬間の時間です。同様に、ベンダーとサポートスタッフは私たちの痛みを共有し、ローカルにインストールされたレベルまたはそれに近いレベルでパフォーマンスを提供するいくつかのアクセラレーションテクノロジーで対応しました。

ユーザーにとっては、速度がすべてですが、ユーザーとは異なり、アーキテクト、システム管理者、およびCIOはユーザーのダブルクリックに対する迅速な対応を求めていません。また、スケーラビリティ、セキュリティの向上、および従来よりも長い技術寿命を求めています。最終的に、ユーザーはベンダーであり、サポートの最も厳しい批評家であり、そのため、仮想アプリケーションの技術と技術の調査が手元にあります。この記事では、仮想アプリケーションを高速化する5つの方法を検討します。 5つのソリューションは順不同ですが、すべてがインフラストラクチャ、アプリケーションコード、帯域幅という最適化と高速化の3つの主要分野のいずれかに焦点を当てています。

WANおよびLANの最適化

WANおよびLANの最適化を帯域幅ソリューションと呼ぶ場合があります。最終的な目標は、より効率的な方法でネットワークパイプラインにより多くの情報とデータを配置することです。アプリケーションのパフォーマンスはエンドユーザーにとって非常に重要であるため、データを消費者またはエンドユーザーの近くに本質的に移動させるコンテンツ配信ネットワーク(CDN)を作成するなど、短時間でより多くのコンテンツを配信するための独創的な方法があります。データをユーザーの近くに移動すると、データが宛先に到達するまでに通過する必要がある「ホップ」またはネットワークが少なくなるため、レイテンシが減少します。ほとんどのクラウドサービスプロバイダーは、アプリケーション所有者が消費者の近くに分散コンテンツを配信できるように、既にCDNを配置しています。


負荷分散は、アプリケーション配信の負荷をよりよく共有するために、クライアント要求を複数のサーバーまたは複数の場所に分散することにより、帯域幅を最適化します。ロードバランサーは、単一のアプリケーションに対するユーザーリクエストで発生する交通渋滞を取り除くことで、アプリケーションの配信速度を向上させます。ただし、他のリクエストで過負荷になっていないサーバーにアプリケーションを効率的に配信できるため、信頼性も向上します。

アプリケーションとクライアント間の生の帯域幅を増やすことは、アプリケーションの配信を高速化するための明らかな強化のようです。アプリケーションインフラストラクチャとクライアントコンピューター間のギガビットネットワーク接続は悪いことだと誰が主張できますか?設計と設計が不十分なアプリケーションであっても、ソースとターゲット間の帯域幅を増やすことにより、パフォーマンスが大幅に向上します。

データ圧縮およびJPEG、MPEG-4、MP3などの圧縮メディアタイプの使用は、アプリケーション配信に大きな影響を与える可能性があります。ベースのコンテンツのデータ圧縮、つまりHTML、CSS、およびJavaScriptを使用すると、ロード時間が30%以上短縮されます。

SSDとフラッシュアレイ

SSDとフラッシュアレイは、あらゆる種類のアプリケーションパフォーマンス強化のための新しい「go to」テクノロジーのようです。ソリッドステートストレージは、回転するディスクよりもはるかに高速ですが、かなり高価です。このソリューションは、保存されているデータではなく「ホット」データのキャッシュとして、SSDの使用方法を変えるのに適しています。 SSDは、回転するディスクよりもはるかに迅速にデータを配信できますが、その効率の一部は、ネットワークおよびさまざまなネットワークコンポーネントを介した変換で失われます。ただし、いわゆる「フラッシュキャッシュ」を使用して、キャッシュされた情報を保存するSSD速度を活用する場合、結果は印象的です。 Intelは、「トランザクションデータベース処理のパフォーマンスが最大12倍、I / O集中型の仮想化ワークロードの処理が最大36倍高速化されます」と報告しています。


データを取得してメモリに格納する速度が速いため、データキャッシング用のSSDは理にかなっています。また、SSDを純粋にキャッシュの目的で使用する場合、結果として得られるパフォーマンスの向上に対応するために購入する必要のあるSSDの数は大幅に少なくなります。 (ストレージの詳細については、「エンタープライズストレージソリューションを最適化する方法」を参照してください。)

バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド

誰もソフトウェアの品質を気にしない場合、プログラミングスキルを向上させることはできません。

仮想GPU

CADプログラム、ビデオ編集ソフトウェア、またはプロジェクト管理アプリケーションを使用しているユーザーに、それらのアプリケーションをロードしてもらい、「ローカル」のコーラスが聞こえます。これらのグラフィックを多用するアプリケーションを、災害に見舞われる仮想環境に変える仮想グラフィック処理装置(GPU)テクノロジーのリリースまで。

仮想GPUにより、最終的に任意のワークロードを仮想マシンに配置できます。ビデオ編集者やグラフィックデザイナーがそうであるように、今では旧式のCADホールドアウトが同化されています。 3次元で作業する人でも、仮想GPUのおかげで仮想的な存在感を得ることができます。

この技術を可能にしたのは、仮想マシンホストシステムと互換性のある特別なGPUボードがそれらのホストシステムにインストールされ、それらのハードウェア属性が抽象化または仮想化され、仮想マシンで使用できるようになることです。

パフォーマンス最適化ソフトウェア

怒ってイライラしたシステム管理者は、コードの修正は自分の仕事ではないことをしばしば言うでしょう。しかし、ユビキタスな問題は、開発者がアプリケーションのプログラミングで一流であっても、パフォーマンスのためにコードを最適化するための手がかりを得る手掛かりや欲求がまったくないことです。多くの場合、より多くのRAM、より高速なディスク、またはより強力なCPUにより、コードに存在する可能性のあるパフォーマンス関連の問題が解決されるという考え方がありますが、それはある程度真実です。あるいは、コードの修正は、不十分な記述のアプリケーションを加速するためだけにインフラストラクチャを再構築するよりもはるかに安価で解決がはるかに簡単です。

コンピューターの先駆者であるドナルドクヌースなど、コンピューターコードの最適化について次のような人がいます。「すべてを最適化すると、常に不幸になります。」クヌース氏の意見にもかかわらず、バランスのとれた改善のためにコードを最適化することは許容されるべきです。しかし、購入してユーザーに展開する商用プログラムについてはどうでしょうか?たとえば、常緑のMicrosoft Officeスイートは、システム管理者がローカルユーザーとリモートユーザーの両方に提供する必要があるアプリケーションの標準スイートです。

管理者が活用しない商用プログラムの場合、多層的なパフォーマンス強化戦略を適用する必要があります。一般的なアプリケーションビットのキャッシュは、ユーザーへの大規模なアプリケーションの配信を高速化する管理者の最大の技術になります。

キャッシング

プリロード、プリプロセッシング、またはプリコンパイルという用語を読んだり聞いたりするときは常に、ライターまたはスピーカーが何らかのキャッシュを指している可能性があります。通常、アプリケーションのキャッシュとは、リクエストに応じて簡単に取得できるように、特定の静的および動的なコンテンツをメモリバッファにロードすることです。パイプラインを介して配信される唯一のビットは、ユーザーまたはその他の時間依存またはセッション依存のデータに特に関係するビットです。それ以外はすべてメモリにキャッシュされます。

キャッシングにより、ストレージ、ネットワーク帯域幅、およびCPUへの負荷が軽減されます。データは、呼び出されるまでメモリ内で待機し、その後、エンドユーザーまでのはるかに短い旅に進みます。ほとんどのテクノロジーは、キャッシングとロケーションを組み合わせて、コンテンツをより迅速に配信します。つまり、すべてのユーザーに共通のデータである共通データは、前述のCDNに配置され、要求されたデータに近いユーザーに配信されます。一部のソリューションは、リモートサイトまたはサテライトサイトでローカルにデータをキャッシュするため、これらの共通ビットが消費される場所に存在し、WANまたはインターネットリンクを介して新たにプルする必要がありません。

キャッシュは、インフラストラクチャの強化に依存する同等のパフォーマンスのソリューションよりもはるかに低コストなので、多くの場合、推奨されるアプリケーション高速化方法です。 (キャッシュの詳細については、「どの書き込みが適切か?I / Oキャッシングメソッドを参照してください。」を参照してください。)

概要

おそらく、あらゆる環境で仮想アプリケーションを最適化または高速化しようとするときの基本的な経験則は、最初にキャッシュを試みてから、その戦略を他のテクノロジーで補完することです。キャッシングは最も安価なソリューションであり、最も侵襲性の低いソリューションでもあります。最善のアドバイスは、メモリキャッシュ用に大量のRAMを、ホットデータキャッシュ用にSSDを購入することです。コストを管理しやすい状態に保とうとしますが、インフラストラクチャとソフトウェアにお金を使うときは、テクノロジーの存続期間にわたってそれを償却し、ユーザーごとに分散して管理が消化しやすくすることを忘れないでください。最終的には、ユーザーの生産性と満足度を維持すると、従業員の雇用が増えます。