マルチユーザー環境でPythonで記述されたさまざまなツールで構成されるフレームワークがあります。
初めてシステムにログインして1つのコマンドを開始するときは、数行のヘルプを表示するだけで6秒かかります。すぐに同じコマンドをもう一度発行すると、0.1秒かかります。数分後、6秒に戻ります。(短期間のキャッシュの証明)
システムはGPFS上にあるため、ディスクスループットは問題ないはずですが、システム内のファイルの量が原因でアクセスが低くなる可能性があります。
strace -e open python tool | wc -l
ツールの起動時にアクセスされている2154ファイルを示しています。
strace -e open python tool | grep ENOENT | wc -l
は、検索されている1945の欠落ファイルを示しています。(非常に悪いヒット/ミス比はあなたが私に尋ねます:-)
ツールのロードにかかる過度の時間は、これらすべてのファイルについてGPFSに照会することによって消費され、テスト方法はわかりませんが、これらは次の呼び出し(システムまたはGPFSレベルのいずれか)のためにキャッシュされます。 /証明する。システムへのrootアクセス権がなく、GPFSと/tmpにしか書き込むことができません。
これを改善することは可能python quest for missing files
ですか?
これを簡単な方法でテストする方法について何かアイデアはありますか?(/ tmpにすべてを再インストールするのは簡単ではありません。多くのパッケージが関係しているため、virtualenvはgpfsシステム上のファイルをリンクしているだけなので、どちらも役に立ちません(私は思います)。
もちろん、フォークするデーモンを用意するという選択肢もありますが、それは「単純」とはほど遠いものであり、最後の手段となるでしょう。
読んでくれてありがとう。