6

最近、当社のサーバーの 1 つでパフォーマンスが低下しているとお客様から苦情が寄せられています。これには、複数の大規模な CMS 実装と、Sitefinity を使用する多数の小さな Web サイトが含まれています。ロード時間にいくつかの大きな問題があるため、ホスティング チームは現在、環境内のボトルネックを見つけようとしています。私は、さまざまな部分 (IIS、ASP.NET、Web 固有) に分けられた、注意すべき事項の 1 つの大きなリストを指定するタスクを与えられました。Sitecore のドキュメント ed に従って、1 つのサーバーで実行できる Sitecore CMS のインスタンスの数を調べるとよいと思います。この時点でボトルネックがどこにあるかを監視して調べることができるようにしたいと考えています。当社のウェブサイトの中には読み込みが非常に遅いものもあれば、読み込みが非常に速いものもあります。このサーバーで実行されるほとんどの Sitecore 実装は、バックエンドのパフォーマンスが低く、コンパイル後の読み込み時間がひどい。当社の Sitecore ソリューションは、DB 用の Microsoft SQL Server 2008 を備えた Win 2008 64 サーバー上で実行されます。セットアップに関するより詳細な情報を指定すると便利な場合があることは理解していますが、ボトルネックを監視および検出する方法に関する有用な基本情報を取得できることを願っています。

どんなツール / ヒント / ヒント & トリックがありますか?

4

5 に答える 5

5
  • plesk の専用プールと呼ばれる、あまりにも多くの異なる asp.net プールを使用しないでください。同じプールにさらにサイトを配置します。
  • メモリを増やすか、サーバーで使用されていないプログラム/サービスを停止します
  • アプリケーション プールに、プールの自動再起動を継続させるメモリ制限があるかどうかを確認します。
  • データベースで、リカバリ モードをシンプルに設定します。
  • プログラム内からデータベース ファイルを圧縮し、データベースのインデックスを再作成します。
  • 結局のところ、ディスクのデフラグ

プロセス エクスプローラーでメモリを確認します。
サーバーで何が起動するかを確認するには、自動実行を使用します、重要なサービスを停止しないように注意してください。コンピューターが再び起動することはありません。自動実行からサービスを停止しないでください。サービス マネージャーを使用してタイプを手動に変更してください。また、多くの SQL サービス サービスは、使用したことがない場合は実行する必要がありません。

その他のヒント

  • 一時ファイル / と asp.net ビルド ディレクトリを別のディスクに移動します。
  • 一時ディレクトリからすべてのファイルを削除します ( cd %temp% )

プロセス エクスポーラを使用して、空き物理メモリがゼロでないことを確認してください。ゼロに近い場合、サーバーはメモリを必要とするか、使用していないプログラムの実行を停止する必要があります。

多くのサイトを同じプールに配置するには、新しい共有プールでサイトの権限を変更する必要があります。難しいことではありません。時間をかけて、どのサイトがどのプールで実行されているかを整理してください。ここで、10 のサイトがあるとします。2 つの異なるプールを使用し、各サイトの負荷に基づいてこのプールにサイトを分散させることをお勧めします。

于 2011-07-04T14:23:52.970 に答える
2

Sitecore のパフォーマンス チューニングに対する即時の答えはありません。しかし、ここにいくつかの重要なヒントがあります:

1) キャッシング

キャッシングがすべてです。デフォルトの Sitecore キャッシュ パラメーターがどのアプリケーションに対しても正しいことはめったにありません。大量のメモリがある場合は、キャッシュ サイズを増やす必要があります。

http://learnsitecore.cmsuniverse.net/en/Developers/Articles/2009/07/CachingOverview.aspx

http://sitecorebasics.wordpress.com/2011/03/05/sitecore-caching/

http://blog.wojciech.org/?p=9

残念ながら、これは開発者がインストールを展開するときに知っておくべきことであり、システム管理者が気にするべきことではありません...

2) データベース

データベースは、チェックする最後のボトルネックです。データベースにはめったに触れません。ただし、適切な設定を行うことで、DB のパフォーマンスを向上させることができます。

パフォーマンスを向上させるデータベース プロパティ:

http://www.theclientview.net/?p=162

インデックスの断片化に関するこの記事は非常に役に立ちます。

http://www.theclientview.net/?p=40

于 2011-07-05T12:24:08.427 に答える
1

Sitefinityについて話すことはできませんが、Sitecoreに関するいくつかのヒントが付属します。

  • 特に、可能な限りSitecoresキャッシングを使用します。XSLTでは(レイアウトやサブレイアウトよりも単純である傾向があるため、Sitecoreキャ​​ッシングはasp.netポストバックに対して行うように、Sitecoreキャ​​ッシングはそれらを壊しません)、このofcは、リダリングやサブレイアウトなどに頻繁にアクセスする場合にのみ役立ちます。/sitecore/admin/stats.aspx?site=websiteを使用して、キャッシュされていないものをチェックします
  • Sitecoresプロファイラーを使用し、プロファイラーでアイテムを開いて、どのサブレイアウトなどに時間がかかっているかを確認します
  • 最も単純なコンテンツにのみXSLTを使用します。それがさらに複雑になり、サブレイアウト(asp.netコントロール)を使用する場合は、XSLTが好きではないため、これは少し偏っていますが、経験上、.ascxの方が高速です。
  • 静的ファイル(/ sitecoreのすべて、およびいくつかのイメージ、javascript、CSSファイルがある場合)でIISのコンテンツの有効期限を使用します。これはIIS 6用です:msdn link
  • Sitecore Databasetest.aspxを使用してデータベースアクセス時間を確認します(Sitecore 6用のものはSitecore5および6で動作する単純なものよりもはるかに優れています)SitecoreSDNリンク

そして、それは私が頭のてっぺんから考えることができるものです。

于 2011-07-04T15:58:18.103 に答える
1

Sitecore には重大な欠陥があり、主キーに GUID を使用します(特に選択されていないデータ タイプ)。これにより、最初の挿入からテーブルが断片化されます。使用率の高い Sitecore データベースがある場合、断片化は 1 時間以内に 90% を超える可能性があります。これらは適切に設計されたデータベースではなく、これが修正されるまで他の製品を検討することをお勧めします。これにより、パフォーマンス上の大きな問題 (時間と費用) が発生します。私たちは立ち止まっており、これ以上追加することはできません RAM はインデックスをより頻繁に再構築できません

于 2012-01-04T01:09:08.993 に答える