分散ピクセルキャッシュは、単一のホストで利用可能な従来のピクセルキャッシュの拡張です。分散ピクセルキャッシュは、サイズやトランザクション容量を拡大し、非常に大きな画像や大きな画像シーケンスをサポートできるように、複数のサーバーにまたがる可能性があります。1つまたは複数のホストでピクセルキャッシュサーバーを起動します。画像を読み取ったり操作したりして、ローカルのピクセルキャッシュリソースが不足すると、ImageMagickはこれらのリモートピクセルサーバーの1つまたは複数に接続してピクセルを格納または取得します。
本当に大きな画像や大きな画像シーケンス、またはホスト上のリソースが限られている場合、1つまたは複数のリモートホスト上の分散ピクセルキャッシュを利用できます。開始するには、最初にセキュリティポリシー構成ファイル policy.xml で共有シークレットを設定します
<policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/>
ここで、2つの分散ピクセルキャッシュを作成し、デスクトップからそれらを利用します
magick -distribute-cache 6668 & # start on 192.168.100.50 magick -distribute-cache 6668 & # start on 192.168.100.51 magick -limit memory 1GiB -limit map 2GiB -limit disk 4GiB \ -define registry:cache:hosts=192.168.100.50:6668,192.168.100.51:6668 \ myhugeimage.jpg -sharpen 5x2 myhugeimage.png
大きな画像シーケンスの場合、サーバーにラウンドロビン方式で連絡して、負荷を複数の分散ピクセルキャッシュに分散します(単一のホストではなくホストリストがあることを想定しています)。この例では、-limit オプションで定義されたように、デスクトップでいくらか控えめなリソースが利用できます。小さな画像の場合、指定された制限までデスクトップに割り当てられます。
ネットワークを介してクライアントとサーバー間でピクセルをシャッフルするため、分散ピクセルキャッシュを使用している場合は、画像処理タスクが遅くなる可能性があります。仮想ピクセルにアクセスするアルゴリズム(例: -sharpen)は、本物のピクセルだけにアクセスするアルゴリズム(例: -negate)よりも大幅にネットワークトラフィックが増加するため、3倍も遅くなります。
クライアントは、互換性のある分散ピクセルキャッシュサーバーにしか接続できません。互換性を持たせるには、ImageMagickライブラリインターフェイス、量子深度、HDRIステータス、OSのワードサイズ、エンディアン、パスフレーズが同じである必要があります。分散ピクセルキャッシュは、これらの属性をチェックし、これらの要件が満たされない場合は例外をスローします。