展開プロセスでのパフォーマンス改善タスクに取り組んでいます。プロセスを進めていると、rpm のインストールが順番に行われ、依存パッケージのインストールに時間がかかることがわかります。私は RPM の初心者であり、展開時間を短縮するためにこれらのインストールを並行して実行する方法を探しています。
これらの rpm を並行して実行するための提案/解決策を教えていただければ幸いです。
展開プロセスでのパフォーマンス改善タスクに取り組んでいます。プロセスを進めていると、rpm のインストールが順番に行われ、依存パッケージのインストールに時間がかかることがわかります。私は RPM の初心者であり、展開時間を短縮するためにこれらのインストールを並行して実行する方法を探しています。
これらの rpm を並行して実行するための提案/解決策を教えていただければ幸いです。
そのため、RPM をインストールすると、rpm データベース ロックと呼ばれるものが作成されます。このロック ファイルにより、rpm の別のインスタンスを実行できなくなります (yum の関連付けによって)。これは、複数のパッケージをインストールしようとしているときにトランザクションが台無しにならないようにするために配置されたものだと思います。すでにインストールしているライブラリの更新バージョンを必要とするパッケージがあることを想像してみてください。2 つのプロセスがそれらのファイルを次々と変更しようとした場合、どのように競合するか、ライブラリ リンクはどのように機能するか、どのような参照の問題があるかを想像してください。など?
これは、2 つの異なるターミナルから 2 つの RPM をインストールしようとしても、2 回目の試行は失敗することを意味します。これは、最初のプロセスが既に rpm データベース ロックを保持しており、別のターミナルからインストールする前にそのロックが解除されるまで待つ必要があるためです。 、または基本的に別のプロセス。
パッケージを順番にインストールする必要がある場合、どうすれば RPM のインストール速度を上げることができるでしょうか。次のオプションを確認することをお勧めします。
RPM がどこから取得されているかを確認します。それが外部の EPEL マシンまたはネットワーク外の別のサーバーからのものである場合は、ローカル ミラーのセットアップを検討してください。できるだけ早くマシンに到達できるように、帯域幅がはるかに広いローカルの場所からプルしています。
展開中に RAM の使用率を確認することを検討してください。ボックスが壊れている場合は、yum のインストールが大幅に遅くなります。可能であれば、展開中に特定のサービスを停止して、インストールを増やすことをお勧めします。
インストールされているものすべてが必要であることを確認してください。これらのパッケージの一部が、キックスタートまたは構成管理ツールを介して初期サーバー ビルドに組み込まれる可能性はありますか? インストールしている RPM (カスタムの場合) に、組織のデフォルトであり、実際には必要のない依存関係がある可能性はありますか?
これらは私が今思いつくすべての提案です。うまくいけば、あなたが始めるのに役立ちます.