2011-07-15 4 views
-1

私は、CMSをアウトソーシングで構築したデータ集約型サイトを運用しています。さて、ユーザーの成長が遅くなっています。主な製品の発売中にダウンします。どのようなサービスを私は、サイトのボトルネックを分析し、SQLクエリなどを分析することができますか?冗長サーバ間で負荷を分離する、DB用マスタスレーブを構成するなどのソリューションを提供できるサービス?私はこれに新しいです。サイトがスケーラビリティ/可用性の問題を解決するのに役立つサービスはどれですか?

+0

CMS、どのデータベース、どのようなインフラストラクチャがサイトで「ちょうどCMS」を実行しているのか、店舗の場所などの機能があるのか​​をスケッチすることができれば助かります。開発者、システム管理者はどのようなリソースを自由に使用できますか?何を試しましたか? これらの詳細がないと、質問は魔法の弾丸のように聞こえます。 –

+0

linux-apache-mysql-php(LAMP)のいくつかのカスタム電子商取引プラグインを使用してJoomlaのサイトを大幅に変更しましたが、開発者、管理者はいません。何もしなかった。 – kakarukeys

+0

オリジナルのアウトソースパートナーが助けてくれる/できないなら、私は専門家のためのJoomlaのお店を探すだろう - グーグル "Joomlaの最適化"は良さを持っている... –

答えて

2

カスタムビルドのCMSをお持ちの場合、問題を分析して解決策を提案するソフトウェアエンジニアが必要です。そのための既製のソリューションはありません。あなたが探しているエンジニアは、CMSに組み込まれているプログラミング言語を理解し、Webスケーラビリティを経験する必要があります。明らかに、あなたのアウトソースパートナーはここでは良い候補になるでしょう...

CMSがオフショアソリューションの場合、ベンダーはアウトソースパートナーから独立したスペシャリストサービスプロバイダを推奨できます。

一般に

、パフォーマンス/スケーラビリティのプロセスは次のとおりです。

  • は、「例えば(必要に応じて、ページの種類に細分化、理想的 秒あたりのページの世代として表し、50 CMS製品 ページ/秒の目標を理解して20 logins/second ")。受け入れ可能な最大応答時間を設定します(たとえば、1秒平均、4秒最大)。
  • あなたが完全に理解しているテスト環境を作成し、それをターゲットの本番システムに関連付けることができます。テスト環境は、チームで作業しやすく、アクセスしやすいものでなければなりません。通常は、開発者のワークステーションまたは低消費電力のVMを使用することをお勧めします。その目的は、ボトルネックを明るくすることで、膨大なトラフィックを処理することではありません。
  • テスト環境のテストターゲットを設定します。 「プロダクション」が毎秒100ページの世代を処理する必要がある場合、テスト環境は毎秒20ページの世代しか処理する必要がない場合があります。
  • アプリケーションをテスト環境にデプロイし、パフォーマンス情報を収集する方法を設定します。 CPU、メモリ、ディスク、ネットワークなど
  • テスト環境で負荷テストを実行します。応答時間の目標を超えるまで負荷を増やしてください。監視ツールを使用してボトルネックを特定します。同様の能力とアーキテクチャ - - あなたは1を持っているには十分に幸運なら、あなたのパフォーマンスが本番のような環境へ
  • デプロイ・アプリケーションをターゲットと当たるまで
  • 修正ボトルネック
  • リンス&繰り返し。監視およびパフォーマンスキャプチャツールを設定します。
  • パフォーマンステストを実行し、パフォーマンス目標を超えるまで負荷を増加させてください。
  • あなたの目標を達成した場合は、おめでとうございます。
  • 目標を達成していない場合は、実稼働環境とテスト環境(多くの場合データベース)のボトルネックが異なることが示唆されます。ボトルネックが何であるかを調べる。テスト環境で複製を実行してください。
  • テスト環境での再テスト。

多くの場合、ターゲットに到達するためにアーキテクチャまたはインフラストラクチャの変更を行う必要があります。私は以下を使用しました: - より大きなハードウェアでソリューションを実行します。 - トラフィックの負荷を軽減するCDNを導入する - 一部のCMS主導型サイトはほぼ完全にCDNにキャッシュすることが可能 - アプリケーションにキャッシュを導入することが理想的であるが、通常はページ生成レベルでキャッシュすることができる場所が多い。 - データベースサーバーを追加する(ほとんどの場合、このことを考慮してアプリケーションを構築していない限り、大きな介入となります)

負荷テストツールあなたが雇うことができるサービス(Keynoteは私が使ってきたサービスです)、またはあなたが走れるツールとして利用できます(JMeterが私のお気に入りです)。

関連する問題