サイトの速度の最適化に関するアドバイス、どこから始めますか?


16

Magentoサイトの読み込み時間が遅い場合の解決策を見つけてみてください。Yslowテストを実行しましたが、最大の犯罪者は

  • HTTPリクエストの数を減らす
  • CDNを使用する
  • Expiresヘッダーを追加
  • JavaScriptを最後に配置する
  • jSとCSSを縮小する
  • ETタグを構成する
  • DNSルックアップを削減する
  • AlphaImageLoaderフィルターを避ける

Eコマースマネージャーとして、Magento管理者、ウェブマスターツールなどでの自分の役割から何ができるか、開発者にサイトをコンプライアンスに準拠させ、著しく高速化するよう指示することができるかについて、いくつかのアドバイスを探しています。

私はまた、管理者内であなたのためにこれの多くを行うように見えるGTMetrixと呼ばれるプラグインを見てきました(CSSシートの結合、画像の最適化など)、誰もこれで経験がありますか?私は通常、非常に多くの拡張機能を避けようとしますが、これは本質的な機能に深く入り込んでいますが、解決策のように思えます。http://gtmetrix.com/magento-optimization-guide.html

あなたのアドバイスは大歓迎です。私はどこから始めて最高の影響を与えるのかを知るのに苦労しています。

前もって感謝します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


回答:


27

https://www.gui.do/post/101-ways-to-speed-up-your-magento-e-commerce-websiteのブログからコピー)

A)ホスティング環境/一般的なヒント

  1. 専用サーバーを入手してください。
  2. 顧客がいる国でサイトをホストします。
  3. 使用しないWebサーバー上のファイルを、大小に関係なくホストしないでください。
  4. MySQL Adminに移動して、すべてのテーブルを選択し、修復してから最適化します。
  5. APC、ZendOptimizer +、XcacheなどのPHPアクセラレーターを使用します。
  6. 必要なApacheモジュールのみをインストールしてください。
  7. Apache mod_expiresを使用し、ファイルをキャッシュする期間を設定してください。Apache仮想ホストの構成に以下の例を使用できます。#Expiresを有効にして、デフォルトを0に設定ExpiresActive On ExpiresDefault A0#メディアファイルのキャッシュを1年間(永久に)設定ExpiresDefault A29030400 Header append Cache-Control "public"# ExpiresDefault A1209600ヘッダーに2週間のメディアファイルのキャッシュを設定します。Cache-Control "public"を追加します。#一般的に更新されたファイルに1週間のキャッシュを設定します。
  8. htaccessでGzip圧縮を有効にするます。
  9. 出力を圧縮し、zlib.output_compressionまたはmod_deflateを使用します。
  10. 静的コンテンツの並列転送には、コンテンツ配信ネットワーク(CDN)を使用します。カテゴリおよび製品画像でこれを行うのに役立つMagento拡張機能があります:One Pica Image CDNです。しかし...(次のヒントを参照)。
  11. すべてのDNSルックアップに余分な時間がかかり、サイトが適切にロードされるように(一部のサードパーティサーバーで)追加の​​依存関係を作成するため、あまりにも多くの異なる外部ソース(画像、iframe、(twitter / facebook)フィードなど)を使用しないでください。
  12. Apache KeepAlivesを有効にする:Apache構成でKeepAlivesが有効になっていることを確認します。キープアライブは、1つのTCP接続を介して複数のHTTP要求を集中させることができるトリックです。各TCP接続のセットアップには追加の時間がかかります。これにより、Webサイトのすべてのファイル(HTML、JavaScript、画像)をダウンロードするのにかかる時間が大幅に短縮されます。詳細はApache.orgで。ただし、これによりサーバーに(多くの)余分な負荷がかかり、トラフィックの多い瞬間にサーバーがクラッシュする可能性があると聞いたことがあります!
  13. リダイレクトを最小限にします。
  14. 出力をW3C準拠にします。エラーはブラウザの速度を低下させます。
  15. ApacheをNginXまたはLitespeedに交換します。これがオプションでない場合は、Zend Serverに進みます(完全なページキャッシュを使用できるように、非CEバージョンが理想的です)。
  16. オフにするか、少なくともWebサーバーのログを減らします(ディスク書き込みを減らします)。
    • アクセス時間のログを無効にします。Magento Wiki:Linuxサーバーの場合、mysql、Webサーバー、またはキャッシュパーティションのいずれかでアクセス時のログを有効にしている場合は、パフォーマンスを向上させるためにオフにしてみてください。ext3またはreiserfsを使用している場合は、より高速なジャーナル書き込みメソッドを使用できます。詳細については、Linux.comを参照してください。
  17. OSのパッケージマネージャーではなくソースからMySQLをコンパイルします。
  18. 常に最新のMagentoバージョンにアップグレードしてください。より多くの機能とバグとセキュリティの修正を取得できるだけでなく、更新ごとにMagentoのパフォーマンスが向上します。
  19. クエリキャッシュサイズ:Magentoブログ:サーバーのRAMをより活用するために、MySQLサーバーの構成を変更します。ほとんどのLinuxディストリビューションは、すぐに使える保守的なMySQLパッケージを提供して、幅広いハードウェア構成で実行できるようにします。十分なRAM(たとえば、1GB以上)がある場合は、構成を調整してみてください。my.cnfの例を以下に示しますが、構成ディレクティブと推奨設定の完全なリストについては、MySQLのドキュメントを参照してください。
  20. php構成で「php_value memory_limit 128M」を設定するか、.htaccessファイルに追加して、メモリが不足しないようにします。
  21. 動的データにはメモリベースのファイルシステムを使用します。RAMdiskまたはtmpfsに動的データ(var / cachevar / session)を保存すると、ディスクI / Oが減少します。
  22. php.iniのrealpath_cache_sizeを変更します。
    realpath_cache_size = 1M 注意これ Apacheプロセスごとです    realpath_cache_ttl=86400 (ok for production site) 
  23. Memcache(ハードコア向け)は、http://www.magentocommerce.com/boards/viewthread/9037/に文書化されており、http: //alexle.net/archives/275のその他のヒントを使用して実行できます。
  24. PHP open_basedirディレクティブを無効にします。これを読んでください
  25. .htaccessファイルのディレクトリ構造スキャンを排除します。
  26. 推奨されるinnodb_buffer_pool_size。
    • Webサーバーとdbサーバーの組み合わせ、6 GB RAM:  2-3 GB
    • 専用データベースサーバー、6 GB RAM:5 GB
    • 専用データベースサーバー、12 GB RAM:10 GB
  27. クエリキャッシュ:query_cache_size:64MB、query_cache_limit:2MB
  28. 別のバックエンドサーバーを使用して、管理ユーザーの処理、バックエンドアクティビティ(cron)の処理、フルページキャッシュの事前生成、メディアクエリの処理を行います。
  29. 複数のWebノード(フロントエンドサーバー)を使用して、閲覧とチェックアウトを処理します。
  30. Varnishリバースプロキシキャッシングを使用し、@ alistairsteadによるMagentoの説明:Magentoストアにニスを塗って、飛ばしてください!
  31. 検索エンジンによって頻繁にクロールされる人気のあるサイトがある場合、robots.txtを微調整することでリソースを節約できます。
  32. これらのキャッシュ拡張機能のいくつかを試してください。
    • http://www.artio.net/magento-extensions/m-turbo-accelerator
    • http://www.aitoc.com/en/magento_booster.html
    • http://www.tinybrick.com/magento-modules/performance.html/
  33. Yireo DisableLogアドオンをインストールします。これにより、Magentoが大量のデータをデータベースに書き込むのを防ぎます。これは、Googleアナリティクスのようなものを既に使用している場合は役に立ちません。

B)テンプレート

  1. すべての(テンプレート)画像を最適化する-すべてではないにしても、ほとんどは少なくとも10kb未満である必要があります。
    • 画像エディタを使用して空白を切り取ります。
    • JpegsではなくPNG8ファイルまたはGIFファイルを使用し、透明度は使用しません(使用する色数と画像の大きさによって異なりますが、自分で試してください)。
    • 画像のスケーリング:必要なサイズで画像を作成し、エディターで画像のサイズを変更しません。
    • 画像圧縮を使用します(smush.itを使用して圧縮できます)。
    • CSS Spriteを使用します。CSSSprite Generatorsもあります。
  2. Cssを縮小し、未使用のコードを削除します
  3. Javascriptの使用を最小限に抑えます。
  4. テンプレートの基礎として軽量テンプレートを使用します。例:Yoast Blank SEOテーマ
  5. 画像の寸法を指定します。
  6. 拡張機能でブロックキャッシュとHTML出力を使用します。
  7. プロトタイプに Javascript Lazy Loaderを適用します。

C)Magentoの構成

  1. 実際に使用しない拡張機能をアンインストールします。
  2. 使用しないモジュールを無効にします:  システム->構成->詳細->詳細。 ![ここに画像の説明を入力] [1]
  3. すべてのMagentoキャッシュを有効にします:システム->キャッシュ管理。  
  4. オンサイトの統計ではなく、Googleアナリティクスのようなオフサイトの統計トラッカーを使用します。このほとんどはJavascriptを使用し、Javascriptを自分でホストします。
  5. Javascriptを結合し、CSSファイル結合しますシステム->構成->詳細->開発者-> 「Javascript設定」「CSS設定」Fooman Speedster拡張機能のように、拡張機能を使用して最適な方法を検討することもできます。
  6. Magentoのパフォーマンス拡張機能をいくつかお試しください。
  7. Magento Flat Catalogを有効にします。これは、非常に大きなカタログが改善を感じる場合にのみ役立ちます。
  8. レイヤーナビゲーションは、本当に必要ない場合は使用しないでください。リソースを大量に消費します。
  9. Magentoのコンパイル機能を使用します。25%-50%のパフォーマンス向上をもたらすと報告されています:システム>ツール>コンパイル。 編集:Yoav Kutner(Magento CTO)は、「以降のバージョンでは、カタログEAVを最適化したため、バイトコードキャッシュがあり、正しく構成されていれば、Magentoコンパイルは必要ありません」と教えてくれました
  10. 正しいセッションストレージを使用し、ファイルシステムまたはデータベースを選択します(セットアップ中)。ほとんどのインストールでは、「ファイルシステム」を使用する必要があります。これは、それが高速で、データベースが大きくならないためです。ただし、サイトを複数のサーバーで実行する場合は、「データベース」を選択して、ユーザーのセッションデータがどのサーバーから要求された場合でも利用できるようにする必要があります。詳細については、Magebase.comのAshley Schroderから。
  11. 製品概要ページで製品の数を制限します。
  12. 実際に使用する属性フロントエンドプロパティのみを「はい」に設定します。他のすべてを「いいえ」に設定します。クイック検索、高度な検索比較などで使用しないでください。カタログ->属性->属性の管理->フロントエンドのプロパティ。  
  13. Magentoログを無効にします:システム->構成->詳細->開発者->ログ設定(デフォルトは無効)。  

エンタープライズのみのヒント:

  • Enterprise_CatalogEventを無効にします。[管理]-> [システム]-> [構成]-> [カタログ]-> [カタログイベント]に移動します。次に、「カタログイベント機能を有効にする」と「カタログイベントウィジェットを有効にする」の設定をオフにします。
  • Solr検索を有効にします。特に多くの製品(> 10k)がある場合は、デフォルトのセットアップに比べて高速です。
  • 全ページキャッシュを有効にします。

D)速度テスト、分析、監視

  1. Magento Speed Testを使用してMagentoサイトをテストする(by Ashley Schroder)
  2. websiteoptimization.comからサイトを実行します。
  3. GoogleおよびYahooからのヒントについては、Google Page Speed Firefox拡張機能またはYahoo Yslowを使用してください。
  4. AnalyticsでのGoogle Speed測定の実装:Site Speed Analyticsレポートでページの読み込み時間を測定する
  5. 監視とダウンタイムのアラートを高速化します。
    • Mon.itor.us
    • Pingdom

ボーナスのヒント

(実際にはフロントエンドを高速化するのではなく、バックエンドのみを高速化するため):

  • 一般的な管理作業のためにWindowsを使用している場合は、K-Meleonを使用します。Magentoの重いJSバックエンドを他のブラウザよりも大幅に高速にレンダリングします。
  • Yireo.comGoogleGears拡張機能を使用して、静的ファイルをローカルにキャッシュします。
  • ローカルのpc / macアプリケーションを使用してMagentoを管理します(  mag-manager.comなど)。

おそらく上記のヒントのすべてを使用することはできませんが、すべてを使用することではなく、機能よりもパフォーマンスを優先することを選択するだけの場合もあることを理解しています。それらの一部のみを適用できる場合でも、速度が向上し、ユーザーエクスペリエンスが向上します。覚えておいてください:速度は多くの変数に依存するため、いくつかのヒントはWebサイトにまったく影響を与えないかもしれませんが、他のヒントは大きな影響を与える可能性があります。そのため、常にすべてのステップの影響をテストし、それに応じてアクションを実行してください。


4
  1. 画像-画像(製品、CMSページなど)をアップロードする人が画像サイズを最適化する方法のトレーニングを受けていない多くのケースを見てきました。オンラインで入手可能な記事はたくさんありますが、その多くは単なる常識です。

    • テキストに画像を使用しないでください。
    • JPEG / GIF / PNGを適切に使用します(通常、写真画像にPNGを使用しません)
    • 多数の小さな画像を1つのファイルにまとめて、数十個ではなく単一のHTTPリクエストのみを提供できるため、小さな画像にはスプライトを使用します。フォントアイコンも検討してください。
    • 許容できるほど見やすい状態で、可能な限り低い品質で画像を保存します。スイートスポットは、JPEGの品質が50〜60程度であることがよくあります。20の品質が完全に許容される場合があり、画像を300 KBから30 KBに縮小する場合があります。それは大きな節約です。
    • 画像の多いページでの遅延読み込みを検討してください。
  2. HTTPリクエスト-もう1つの大きな犯罪者。リクエストを減らすためにできることはあまりない場合もありますが、常にできるだけ低くするようにしてください。Magentoには、CSS / JSを統合することでこの機能を提供するための機能がいくつか用意されています。

  3. 追加のDNSルックアップ-これは、カート/チェックアウトプロセスにとって最も重要だと思います。多くのストアには、サービスを呼び出すさまざまなAPI統合があります。配送業者からのAPI応答をこれほど速くすることはあまりできませんが、少なくとも他の方法ではすぐには明らかにならない遅いサービスを特定できます。UPS、FedEx、USPS、税率プロバイダー、支払いプロバイダー、アフィリエイトサイトなどに電話をかけている場合、チェックアウトにかかる追加時間を考慮してください。

  4. その他の要因-レポートで言及されているその他の要因のいくつかは、おそらく画像やHTTPリクエストほど大きな影響を与えないでしょう。CSSとJavascriptを最小限に抑えることは確かに価値がありますが、実際のメリットは長期的な集計でのみ顕著です。また、CDNは、特にダウンロード可能な製品を提供している場合に特に役立ちます。


多くの場合、単独でのホスティングに重点が置かれていると思います。過去に、速度を改善するためにサイトの特定のサーバー調整を実行することを任されましたが、ホームページが20Mbのアセットを読み込んでいることがわかります。

同様に、サーバーのパフォーマンスに関するMagentoのホワイトペーパーは、サイトが肥大化してずさんに構築されている場合は役に立ちません。サイトの速度を改善することが目標の場合、ステップ1はページ自体を調べて非効率性を見つける必要があります。ホスティングをアップグレードすることを検討する必要があるのは、あなたのサイトがあなたが望むほどリーンで意地の悪いものであると判断した後でのみです。

記録のために、私が管理しているサイトは約5年ほどNexcessでSIP-200を使用しており、1日平均5000回の訪問を受け取っています(季節的であるため、春の終わり/秋の初めに10,000を超えます)。このサイトのこのグレードのサーバーに関する苦情は一切ありません。また、数十のカテゴリーにわたる数千の製品を備えたMagento CEのかなり標準的なバージョンを実行しています。


2

画像はインターネット上の大きな問題であり、javascriptとほぼ同じくらい大きな問題です。最初に行う必要があるのは、画像を最適化することです。

  • コンテンツ配信ネットワークを設定する
  • 画像を最適化する
  • Image LazyLoaderを使用する

今すぐあなたへのJavascriptファイル:

  • それらを圧縮して結合する
  • より多くのajaxを使用して、追加のページのリロードを排除します
  • JSファイルをフッターにドロップします
  • 別のドメインからJSファイルをロードします

狂ったようにキャッシュ

  • MySqlキャッシングを有効にし、メモリプールのサイズを増やします
  • PHPが毎回自己学習する必要がないように、APCキャッシングを有効にします
  • Magentoのフルページキャッシュを有効にし、Apacheキャッシュを利用する
  • GZIPを有効にして、ファイルをより速くユーザーに配信します。
  • 適切なExpiresヘッダーを有効にして、ユーザーもキャッシュするようにします

Magentoには、多くの内部キャッシュメカニズムもあります。

  • 明らかなMagentoキャッシングを有効にする
  • 管理者からCSSおよびJS圧縮およびコンパイルを有効にします
  • フラットカタログと製品を有効にして、mysql呼び出しを高速化する
  • Magentoコンパイラを有効にしてPHPオートローダーを高速化します

さらに詳しい情報が必要な場合は、このナレッジベースから情報を取得しました。


0

Magentoサイトを高速化するために私が提案することは次のとおりです。

  1. サードパーティの拡張機能監査とTTFB監査を実行します。一部のカスタムプラグインは、Magentoの速度を低下させます。すべてのサードパーティモジュールのリストを取得し、それらを1つずつ無効にします。www.webpagetest.orgによるベンチマーク速度。悪用者を特定したら、ベンダーに連絡して知らせてください。TTFB監査を実行するには、無料のプログラムxhprofをインストールするか、NewRelicを使用します。

  2. ホスティングリソースがMagentoを実行するのに十分かどうかを確認します。ホストに同じバージョンのMagentoの新しいコピーをインストールします。その速度をライブサイトと比較します。サイトよりも大幅に高速であれば、ホスティングは問題ありません。ライブサイトと同じくらい遅い場合、ホスティングは良くありません。

  3. さまざまなフロントエンドの最適化を実行します。これらには、画像の最適化、gzip圧縮、CSS / JSの縮小が含まれます。Google PageSpeed Insightsに対してサイトを実行すると、実行する必要があるレポートを取得できます。

私の記事から引用


サードパーティの拡張機能監査を行う最良の方法は何ですか?ありがとう。@コンスタンタンジェラシモフ
宝石

0
  • Webサイト(構造、CSS、画像など)の最適化と、非常に高速なホストの検索の両方に集中する必要があります。

  • SSDストレージとCloudflare CDNを提供し、MagentoベースのWebサイト用に特別に最適化されているホスティングサービスを探すことをお勧めします。

  • 私は現在、私のウェブサイトにいわゆる「人気のある」計画を使用しており、それは素晴らしい仕事をしています。

  • ここではその完全な仕様は以下のとおりです。https://www.bgocloud.com/hosting/websites-cpanel/popular-plan

これらの機能が自分に適さないと思われる場合は、他のプランまたは専用サーバーのページをご覧ください。


-1

サイトの速度に関して最も重要なことは、サーバーがmagentoであることがわかりました。専用ホストを使用していますか?あなたは...でなくてはならない。特にSSDドライブを備えたもの。Magentoの最も遅い部分は、実際にPHPを処理してページをレンダリングする方法であり、これに対抗する唯一の方法はより優れたサーバーです。また、完全なページキャッシュ、Lesti FPCを試してください。


お返事ありがとうございます。私たちのサーバー構成は必要なものではないかもしれないと感じていましたが、私はここで新しく、彼らのシステムを学ぶだけで、以前はシステム管理者側に深く入り込む必要はありませんでした。最新の請求書を作成しました(これがMagentoを実行しているサーバーであると仮定):18636デュアルXeon E5-2609(E52609)RAM:16GBハードドライブ1:500GB SATAハードドライブ2:500 GB SATAハードドライブ3:64GB Samsung 830 SSDハードドライブ4:なしハードドライブコントローラー:オンボードコントローラー
ブランドン14年

この答えには同意できません。大きな画像、大量のHTTPリクエスト、サードパーティサービス(UPS、税金の検索など)へのリクエストによってサイトが行き詰まっている場合、世界で最も優れた専用ホストはあなたのために何もしません。まずサイトを適切に実行し、必要に応じてホスティングのアップグレードを検討してください。
pspahn 14

FYIブランドン。Samsung 830は、サーバーではなく、ホームコンピューター用に設計されたディスクドライブです。サーバーがサーバーであるとは思えません。
チョコルー14年

-1

長い答えと短い答えがあります。Guidoがすでに指摘しているように、これらはセットアップのために従う必要のあるステップです。最適な組み合わせを見つけるには、すべての組み合わせを実行するための有能なリソースを見つける必要があります。かなり時間がかかりますが、Magentoサイトを実行する必要がある標準プロセスです。短い答えもありますが、私たちはインキュベーターで働いており、主にハイエンドプラットフォーム向けのエンタープライズテクニックを使用していますが、Magentoに移植しましたが、ここでは関係ありません。ハードウェア、fpc、キャッシング、ビジネス要件の間の正確なバランスを見つける必要があります。唯一の問題は、再実行する必要のあるものを大幅に変更した場合に演習を行った後です。


-1

または、すべてをスキップし、Etsyと同じテクノロジースタックを使用し、マルチノードを備えたVeryと同じホスティングを使用し、fpcをスキップし、fpc ttfbに近い、1-2秒の動的負荷を使用し、Pagespeedを使用してすべてを追加します。今、熱心なコーダーと拡張機能を追加している場合、制限があります。プログラマーがビジネスに異議を唱える程度にまで技術ルートを取り、それをすべて調べなければならないか、技術的な抗議に関係なくビジネスビューを取り、最良のソリューションを見つけるかによって異なります。作業。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.