ウェブサイトへのアクセス数が多かったため、コンピューターの CPU が非常に高くなり、金曜日の夜にハングアップし、土曜日に再起動されました。
今日の結果は、調べてみるとまだ非常に高いということですが、これは主に PHP が大量の画像を生成し、大量の CPU を必要とするためです。
どうすればいいですか?画像にテキストと透かしを追加する主なタスクは、1 回のリクエストで 20 枚の画像を処理することです。
PHP の gd ライブラリは c で実装されており、以前にテストしたことがありますが、効率は基本的に c を直接使用して生成するのと同じです。どんなに最適化しても、サーバー リソースには最適化の余地がほとんどなく、多額の費用がかかります。
画像処理をリアルタイムにする必要がなく、すぐにユーザーに表示する必要がない場合
画像処理を非同期にして、実行する PHP スクリプトをバックグラウンドで開始できるようにします。コンピュータの負荷が高くなりすぎないように、一度に処理されます。
そうでないなら、ストレス解消のために分散させるしかありません。
1 つのリクエストで複数の画像を処理することは問題ありません
問題は、許可する同時実行数が高すぎるかどうかです
Web サーバーの同時応答数を増やす場合は、同時にメモリも増やす必要があります
そうしないと、頻繁なスワップ領域の操作が必然的に発生し、CPU にスケジューリングの負荷がかかります
コンピューターが構成されている場合、動作しない場合は、分散するしかありません。
Alibaba Cloud には実際に負荷分散機能があることがわかり、自分で行う必要はありません