免責事項:私はサーバーのような世界のフロントエンド開発者です。
こんにちは、みんな。 EC2にサーバーインスタンスがあります。c5d.9xlarge
、その仕様は次のとおりです。
シナリオ:このサーバーを使用して大きなビデオ(4K、1時間以上)をアップロードし、FFMPEGを使用して処理しますが、12コアと48 GBのRAMを備えた以前のUpCloudサーバーと比較して、このEC2サーバーはアップロードと処理に1.5倍の時間がかかります。
質問:支払い対象のパフォーマンスを最大化するにはどうすればよいですか?
きみの c5d.9xlarge
には900GBのインスタンスストレージ(別名ephemeral storage)が付属しています-これを使用してストレージとファイルを処理していますか?インスタンスに専用のEBS帯域幅がある場合でも、インスタンス上のSSDストレージははるかに高速です。これをすべてのソースファイルと一時ファイルに使用し、結果をEBSにのみ保存することをお勧めします。
ただし、インスタンスストレージにはいくつかの注意事項があります。
使用する前に、フォーマットしてマウントする必要があります。詳細については、この回答を参照してください:SSDインスタンスストレージをUbuntu 16.04のAWS EC2に自動的にマウント
インスタンスを停止して再起動すると、内容はwipedになります。再起動後も存続しますが、停止/開始はしません。
更新:デフォルトではSSDはマウントされていません-それを利用するには、上記のリンクされた回答の手順に従う必要があります。起動後の標準構成では、SSDよりも遅いEBSを使用します。
次に、それが実際にを使用していることを確認する必要があります-uploadを設定しますそのSSDマウントポイントへの作業中および一時ディレクトリ。
またはさらに良い-72 GBのRAM=-RAMディスクを作成し、それを一時ファイルに使用します。これは、 SSD(ファイルが適合する場合)。
まず、アップロード速度を無視して処理を最適化します。ファイルをEBSにアップロードして処理時間を計測し、次にSSDにアップロードして時間計測し、次にRAMディスクに処理時間を計測します。方法を参照してください。彼らは大きく異なります。
アップロード速度は、ユーザーとアップロード先のAWSリージョンの間の距離やレイテンシなど、さまざまな要素の影響を受けます。近くのAWSリージョンを使用していますか?
ReCPUパフォーマンス-36のCPUを使用できますが、各シングルコアは以前の12のコアよりも遅い -コアマシン。これは、CPUアーキテクチャとクロック速度に依存します。ただし、ビデオ処理を36スレッドに並列化できる場合は、このインスタンスを使用することをお勧めします。シングルスレッドに依存している場合、必要なパフォーマンスが得られない可能性があります。
それが役に立てば幸い:)
代替案を検討する余地はありますか? c5d.9xlarge
のコストについては、大幅な割引を受けている場合でも、専用サーバー市場で数台同等またはそれ以上のマシンを使用できます
この種の垂直スケーリングされた問題にクラウドを使用することは、過剰な支払いのレシピであり、ご覧のようにパフォーマンスが低下します
回答が得られなくて申し訳ありませんが、コメントするのに十分な担当者がいません