ホームページ >バックエンド開発 >PHPチュートリアル >豊富な画像ストレージソリューションの選択
プロジェクトの現在のアーキテクチャは LNMP です。主な機能は、ユーザーが大きな画像 (5 ~ 30M) をサーバーにアップロードし、サーバーが大きな画像を数百の小さな画像に分割することです。フロントエンドアクセス後にサムネイルをロードします。
私は CDN と OSS の使用経験がありません。同じ業界の企業が使用している Qiniu の画像ストレージについてしか知りません。ここ数日、プロジェクト内の特定の作業が WeChat 上で大量に転送されました。訪問者数は比較的多かったです (その日の PV は 10W)。当初の計画では画像処理に独立したストレージを使用することを考えていなかったので、現在は一時的に Alibaba Cloud の CDN を使用しています。次に画像を分割したいと思います。
現在 3 つのボトルネックがあります:
1. CPU: 大きな画像を小さな画像に切り取るとき、20 人を超えるユーザーが同時に画像を切り取ると、CPU の使用率が基本的に 80% に達します。現在は Alibaba です。8 コア クラウドには 16G のメモリがあり、十分なメモリです。現在のユーザーベースによると、オンラインで同時に写真をカットできるユーザーは 20 人までです。
2. ストレージ: ユーザーは無制限に大きな画像をアップロードできるため、現在は 1T の通常のハードドライブに画像を保存することも問題です。
3. 固定帯域幅は 10M です。通常のトラフィック状況ではこれで十分です。作品が表示される場合、ユーザーによって WeChat モーメントに大量のリポストが送信され、同時実行性が高い状況では帯域幅が不足します。
解決策:
1. Qiniu の画像ストレージを使用します。Qiniu を使用する際の唯一の問題は、ユーザーがアップロードした画像が変更され、削除される可能性があるため、すぐに Qiniu に同期する必要があることです。これにより、同期が遅くなったり、その他の不明な問題が発生したりする可能性があります。
2. Alibaba の OSS+CDN を使用します。サーバーも Alibaba 製品なので、イントラネット経由で画像の同期が可能になり、速度が向上します。ただし、アリババの手数料がQiniuよりもはるかに高いという情報も見かけました。比較したことはないので、どのくらいの差があるのかはわかりません。
これら 2 つの選択肢のうちどちらが合理的ですか?ありがとう!
プロジェクトの現在のアーキテクチャは LNMP です。主な機能は、ユーザーが大きな画像 (5 ~ 30M) をサーバーにアップロードし、サーバーが大きな画像を数百の小さな画像に分割することです。フロントエンドアクセス後にサムネイルをロードします。
私は CDN と OSS の使用経験がありません。同じ業界の企業が使用している Qiniu の画像ストレージについてしか知りません。ここ数日、プロジェクト内の特定の作業が WeChat 上で大量に転送されました。訪問者数は比較的多かったです (その日の PV は 10W)。当初の計画では画像処理に独立したストレージを使用することを考えていなかったので、現在は一時的に Alibaba Cloud の CDN を使用しています。次に画像を分割したいと思います。
現在 3 つのボトルネックがあります:
1. CPU: 大きな画像を小さな画像に切り取るとき、20 人を超えるユーザーが同時に画像を切り取ると、CPU の使用率が基本的に 80% に達します。現在は Alibaba です。8 コア クラウドには 16G のメモリがあり、十分なメモリです。現在のユーザーベースによると、オンラインで同時に写真をカットできるユーザーは 20 人までです。
2. ストレージ: ユーザーは無制限に大きな画像をアップロードできるため、現在は 1T の通常のハードドライブに画像を保存することも問題です。
3. 固定帯域幅は 10M です。通常のトラフィック状況ではこれで十分です。作品が表示される場合、ユーザーによって WeChat モーメントに大量のリポストが送信され、同時実行性が高い状況では帯域幅が不足します。
解決策:
1. Qiniu の画像ストレージを使用します。Qiniu を使用する際の唯一の問題は、ユーザーがアップロードした画像が変更され、削除される可能性があるため、すぐに Qiniu に同期する必要があることです。これにより、同期が遅くなったり、その他の不明な問題が発生したりする可能性があります。
2. Alibaba の OSS+CDN を使用します。サーバーも Alibaba 製品なので、イントラネット経由で画像の同期が可能になり、速度が向上します。ただし、アリババの手数料がQiniuよりもはるかに高いという情報も見かけました。比較したことはないので、どのくらいの差があるのかはわかりません。
これら 2 つの選択肢のうちどちらが合理的ですか?ありがとう!
実際、あなたが心配している問題は、多くの場合、デザイナーがそれを利用しているために解決されます。たとえば、画像を変更しますか?名前が変更された場合は、新しいものを削除して新しいものを作成するだけで、キャッシュの影響を受けません。
あなたが言及した写真のカットの問題については...なぜオンラインで写真をカットする必要があるのですか?自分で切れないの?元の画像をカットする必要がありますか? 30M のオリジナル画像をカットするのと 600K のサムネイルをカットするのでは、明らかに異なるリソースが使用されます。ユーザーがカットできるように 30M のオリジナル画像を 100% に拡大しますか?
Alibaba の価格は Qiniu よりも安いはずです。Alibaba Baichuan には以前は 100GB の無料ストレージ容量がありました
ユーザーはQiniuに直接転送します。詳細については、公式ドキュメントを参照してください
。