3

これに似た問題がありますが、うまくいけば少し絞り込めます。

現在、Tridion 2011 インストールの公開部分をテストしています (コンテンツ マネージャーとコンテンツ配信は別のサーバー上にあります)。一度に多くのページ (私の場合は 1000 ページ) を公開しようとすると、プロセスdllhst3g.exe *32が大量のメモリを取得し始めます。やらなければならない仕事がたくさんあるので、これは理解できますが、決して元には戻せません。これにより、コンテンツ マネージャーの実行が遅くなり、最終的にクラッシュします。

dllhst3g.exe *32プロセスに約 3.6GB のメモリがあるときに、Tridion Content Manager によってスローされるメモリ例外が発生していました (これは、32 ビット プロセスが原因であると思います)。これらを防ぐために、SDL Tridion Content ManagerCOM+ アプリケーションをプロセスごとに任意の 500Mb に制限し、制限に達してから 15 分後に強制終了させました。これにより、メモリ不足の例外は今のところ停止していますが、パフォーマンスの問題が残っており、サーバーに 8 GB を超える容量が 15 分間のウィンドウで割り当てられている場合、メモリが不足する可能性があります。詳細はこちら

関連するページ テンプレートにはコードが関連付けられていないため、基になる PageTemplate コードを除外しました。これらのページは空白です。

この問題は、Core Service API を使用している場合にも、より顕著になるようです。私が使用しているコードは

using (var client = new Tridion2011CoreService.CoreServiceClient())
{
    foreach (var id in ids) // ids is a collection of 500 page ids
    {
        // publishing to staging and live
        var targets = new string[] { "tcm:0-7-65538", "tcm:0-8-65538" };

        var publishInstructionData = new PublishInstructionData();
        publishInstructionData.ResolveInstruction = new ResolveInstructionData();
        publishInstructionData.RenderInstruction = new RenderInstructionData();

        var readOptions = new ReadOptions();

        client.Publish(new string[] { id }, publishInstructionData, targets, PublishPriority.Normal, readOptions);
    }
}

(1 回の呼び出しですべての ID を送信して公開できることはわかっていますが、メッセージ制限エラーが発生し、複数の呼び出しと単一の呼び出しの結果が事実上同じであることを認識している限り)

何か案は?

(詳細を見逃している場合はお知らせください。それに応じて質問を更新します)

追加するのを忘れました。Content Manager は、4 つの CPU、8GB の RAM、および 50GB のディスク容量を備えた仮想化された Windows Server 2008 にインストールされます。Content Delivery は、同じ仕様の別のサーバーにインストールされます。

4

2 に答える 2

1

SDLカスタマーサポートに連絡した後、唯一の解決策は、事前に決定された量のメモリを消費するときにdllhostプロセスをリサイクルすることであると言われました。

これを行うには、WindowsServer2008で実行されているSDLTridionContentManager2011を使用します。

  1. コンポーネントサービスを開きます(検索するかControl Panel -> Administrative Tools
  2. ツリーを展開しますComponent Services -> Computers -> My Computer -> COM+ Applications
  3. 右クリックSDL Tridion Content Managerして[プロパティ]を選択します
  4. Pooling & Recyclingタブ を選択します
    • Pool Size1に設定
    • Lifetime limit0に設定
    • 524288(512 MB)に設定Memory Limitするか、独自の制限を選択します(1GB未満の値を選択します)
    • Call Limit0に設定
    • Activation Limit0に設定
  5. 可能であれば、システムを再起動してください。それ以外の場合は、すべてのTridionサービスを再起動します(Control Panel -> Administrative Tools -> Services「Tridion」で始まるすべてを再起動します)

たぶん、「本当の」修正はただのパッチです...

于 2012-10-09T15:18:39.217 に答える
0

トランスポート パッケージのルート フォルダーを監視してみてください。これは、SDL Tridion MMC スナップインで設定されます。デフォルト値は、CMS サーバーの C:\temp です。Tridion インストール フォルダ\Config の cd_transport config xml で設定されるトランスポートの作業領域フォルダを確認してください。また、デプロイヤーの着信フォルダーと作業フォルダーも確認してください。これらのフォルダーに大量のファイルが蓄積されると、パフォーマンスが低下する可能性があります。フォルダーまたはファイルでエラーが発生した場合は、これらのフォルダーのクリーンアップを試みて、失敗したトランザクションを Tridion が再試行しないようにしてください。また、デプロイヤが website-httpupload.asp として実行されている場合は、デプロイヤのアプリケーション ドメインのリサイクル設定を確認して、数分ごとに appdomain をリセットしていないことを確認してください。

パブリッシュ アイテムの関連アイテムを調べることもできます。多数のバージョンまたは不要な関連アイテムがある場合は、特定のスキーマなどで不要なコンポーネントを回避するために、パブリッシュ アイテムのカスタム解決を考えることができます。下のリンクの記事。ヌーノに感謝.. http://nunolinhares.blogspot.nl/2011/10/tridion-publisher-and-custom-resolvers.html

于 2012-10-08T21:11:35.557 に答える