Photologueアプリ(Python Imaging Libraryに依存)を使用するDjangoを使用して写真ホスティングWebサイトを作成しました。ユーザーが写真をアップロードすると、サイズ変更された複数の写真がそれぞれに生成されます(たとえば、小/中/大、サムネイルなど)。問題は、サイズ変更プロセスが100%CPUを消費し、Djangoが同時リクエストをほとんど処理できないようにすることです(1桁以上遅くなります)。ここから離れない限り、このCPU使用率をなんとか制限する必要があるようです。
「cpulimit」コマンドを使用してPIDでのCPU使用率を制限して、問題が解決するかどうかを確認しようとしましたが、効果がないようです。どういうわけかPILによってCPU使用率を制限できますか?私が見逃しているアプローチはありますか?私のサーバーはUbuntuEC2マイクロティアなので、RAM / CPUパワーの不足が問題になる可能性がありますか?この問題は2人の同時ユーザーでのみ発生するため、問題になる可能性は低いようです。
更新:Andreの提案に従って、Django 1.4.1にアップグレードしました。これにより、開発サーバーが同時リクエストを許可するようになりました。ただし、PILがCPUを占有しているため、それでも耐えられないほど低速です。