公開するページごとに、サーバーのメモリが約 2 MB 増加します。構成の問題ですか?
参考までに、古いvbscriptコードを使用したSDL Tridion 2011 SP1です。提案してください。
公開するページごとに、サーバーのメモリが約 2 MB 増加します。構成の問題ですか?
参考までに、古いvbscriptコードを使用したSDL Tridion 2011 SP1です。提案してください。
いいえ - 構成の問題ではありません。
少なくとも、つまり、表示されているのはメモリ リークであると仮定します。Tridion はレンダリング中にさまざまなアイテムをキャッシュしますが、そのキャッシュ動作の一部は構成可能です。ページがレンダリングされるたびにメモリが増加すると言っていますか? そして、それは再び下がらないということですか?このメモリを所有するプロセスはどれですか? パブリッシャー サービスですか、それとも COM+ サロゲート (dllhost) ですか、それとも何か他のものですか?
Tridion を構成するだけでメモリ リークが発生することはありません。
これを明らかにする可能性のあるエラーがイベント ログに表示されていますか? アプリケーション/システム ログと Tridion ログを確認することを忘れないでください。
応答しなくなるまでずっと増加しますか? それとも、この記憶は後で再利用されますか?
VBScript テンプレートを使用することは必ずしも問題ではありませんが、すべてのオブジェクトがテンプレートで適切にリリースされるように (テンプレートを に設定してNothing
)、コード レビューを常に行うことをお勧めします。
Dave が示唆するように、既定のテンプレートでテストすることは常に良い考えです。
最も重要なコメントがなされたと思います。Set blah = foo
これは、使用した場所でオブジェクトを解放せず、解放するために を使用しなかったために発生したメモリ リークである可能性が最も高いですSet blah = Nothing
。ただし、パブリッシャーが失敗するまで成長し続けない場合は、パブリッシャーによるテンプレートの適切なキャッシュである可能性があります。
Tridion の以前のリリースでは、このようなリークを探す CodePlumber と呼ばれる PowerTool (SDLTridionWorld.com の BBX で入手可能) をコミュニティで作成しました。VBScript (およびツールは VbScript ベースの従来の ASP で記述されている) を明確に知っているので、そのコードを読んだり、テンプレートをテストするために復活させたりする価値があるかもしれません。新しいPowerTools for 2011フレームワークに移行することで、ボーナス ポイントを獲得したい場合もあります。
私の最後の質問は、これらのテンプレートが以前のバージョンの Tridion から移動されたかどうかです。移動された場合、同じメモリの増加が観察されたかどうかです。そうでない場合は、発行プロセスで従来のテンプレートがどのように処理されるかという新しい問題が発生している可能性があります。
メモリが増加している場所については触れていませんが、最も一般的な場所は COM+ オブジェクトです。
この場合、これを回避する力ずくの方法は、メモリのしきい値で COM+ リサイクルを実装することです。しきい値は、問題が発生し始めた場所とサーバーで使用可能なメモリによって異なりますが、チューニングを開始するには 1GB が適切なポイントです。
このリサイクルがユーザー エクスペリエンスに影響を与えることはありません。
これは実際に問題を解決するものではないことに注意してください。問題がシステムの残りの部分をダウンさせるのを防ぐだけです。
他の投稿者が言及しているように、問題を修正することは、古い VBScript コードのメモリ リークを追跡することを意味する可能性があります。