5

現在のZMI管理の「データベースのパック」機能は少し大雑把です。

1)Web UIに何らかの進行状況インジケーターを設定することは可能ですか?たとえば、残りの分/時間数を示して、少なくともある種の見積もりを出します。

2)ZODBパッキングはサイトの応答性にどのように影響しますか?すべてのトランザクションがブロックされていますか?

3)ZEOコマンドラインクライアントからこれを実行できるように、進行状況インジケーターを備えたコマンドラインスクリプトはありますか?

4)出力をログアウトするための少なくともある種のログマーカー...[情報]30%完了...残り3:15

4

4 に答える 4

7

パッキングの構造

ZODB FileStorage のパッキングは、あるファイルから別のファイルにデータを選択的にコピーするプロセスです (指定された年齢よりも「若い」トランザクションのみ)。このコピーが開始される前に、プロセスを支援するために一部のソフト インデックスがメモリに構築されます。したがって、ZODB パッキング全体には次の手順が含まれます。

  1. 建物パック インデックス
  2. 一時ファイルへのトランザクションのコピー
  3. 梱包開始後に行った追加取引
  4. 元の FileStorage をパックされたものに置き換え、読み取り/書き込みモードで再度開く

私は通常、topvmstat/ dstat、の組み合わせでプロセスを監視していますwatch ls -la var/filestorage

Geir が述べたように、パッキング専用の個別の ZEO クライアントを使用できます。これは、パッキングが完了するまでブロックされたパッキングを呼び出したスレッドとして妥当でした。現在、ZEO を使用している場合は必要ありません。ZEO サーバーはzeopack、ZEO に直接接続し (専用の ZEO クライアントは必要ありません)、FileStorage パッキングを開始するユーティリティを提供します。利点の 1 つは、パスワードが不要で、ZEO コントロール ソケットにアクセスするための適切な権限があることです。

梱包の進捗

パッキングは ZEO サーバー (サーバーではなく FileStorage 自体) によって実行されるため、進行状況が ZEO クライアントに適切に伝達される可能性は限られています。ZEO プロトコルは、そのような種類の情報を通信するようには設計されていません。

IMHO FileStorage自体は、ログファイルを介して現在行っていることをより詳細に伝えることができます。なんらかの進行状況を組み込むことができます。また、進行状況インジケーターが必要な場合は、ログ モジュールを ZEO クライアント/Zope インスタンスに戻してブラウザーに通信することで、何らかのフィードバック チャネルを設計できます。

パッキング時のパフォーマンス

FileStorage のパッキングは非常に集約的なディスク操作であるため、ディスク サブシステムのスルー出力が減少します。さらに、キャッシュを再度ウォームアップする必要があるため、パッキングが完了した後でもディスクのパフォーマンスに影響を与えるディスク キャッシュ (より大きな FileStorage の場合) を消去します。パッキング時間が長くなるが、FileStorage のシステムへの影響が小さくなる可能性のある改善点は次のとおりです。

  • 操作に戻るO_DIRECT(ファイルキャッシュには触れない)
  • ioniceパッキングを実行するスレッドのディスク スケジューリングの優先順位を下げる ( Linux の場合)
  • スロットリング パッキング速度
于 2011-03-06T00:06:38.573 に答える
3

大規模なサイトのパッキングを行うための推奨される方法は、そのようなタスク専用の別の ZEO インスタンスで実行することです。これは、http 要求をまったくリッスンしません。

これにより、要求された機能の必要性もなくなります。

于 2011-03-03T15:31:13.833 に答える
2

これは質問ではなく、機能のリクエストです。ZMI は Zope 2 固有の機能であるため、http://plone.uservoice.com/またはhttps://bugs.launchpad.net/zope2で入力する必要があります。

于 2011-03-02T21:12:35.397 に答える
2

1) そのようなインジケータはなく、実装するのはおそらく難しいでしょう (Zope ロギング システムを介して少なくとも何らかの進捗インジケータを確認したいと思います)。

2) ブロックされていませんが、パッキング フェーズによっては、IO と CPU の使用率が高くなる場合があります。

3) いいえ

4) いいえ

于 2011-03-03T06:44:52.623 に答える