0

Web 向けの vps でホストする予定の Django コンテンツがいくつかあります。ディスクにキャッシュされる画像を動的に生成します ((1) ユーザーが画像内のコンテンツを変更するか、(2) レイアウトがグローバルに更新されるためすべての画像を再生成する必要がある場合を除いて、再生成はほとんど必要ありません)。ディスクに保存されているものが最新かどうか (つまり、グローバル レイアウトが変更されておらず、ユーザーがコンテンツを変更していないかどうか) を確認し、ディスクからアイテムを取得するか、新しい画像を生成して保存し、提供します。

生成してディスクに保存するプロセスの時間を測定しましたが、Django 開発サーバーを実行している最近の MBP で約 200 ミリ秒かかりました。膨大な数のヒットは期待していませんが、このような生成コンテンツの処理に関する人々の意見にはまだ関心があるので、いくつか質問があります。

1) プロセス/タスクが一般的にキュー システム (rabbitmq など) に引き渡す価値があるかどうかを判断するために使用する基準は何ですか?それを取り除く価値がある前にそれはありますか?

2) 何をホストするか決めていません。画像などを含むいくつかの実行時間を計る可能性のある他の多くの動的コンテンツを計画している場合、fastcgi、mod_wsgi などを使用して lighttpd または apache で nginx などを使用してホストすることをお勧めしますか? 私は 512-1GB の RAM を搭載した VPS でホストする予定であることを覚えておいてください。また、サービスが正常に低下し、サーバーへの要求が多数ある場合にプロセスがサーバーをロックアップするのを防ぐ方法があれば、それは素晴らしいことです。新しい画像。

私はこの分野に精通していないので、さらにテストを実行する予定ですが、この経験を持つ人々から、どの方向を見るのが最善かを知りたいです.動作しないことが知られていることを試しても意味がありません.

4

1 に答える 1

0

1) リクエストを処理するのに十分なスレッドがある場合は、別のサーバーで非同期に処理することを心配する必要はありません。そうは言っても、画像処理に多くの CPU 時間がかかる場合は、それを別のサーバーに委任する必要があります。

2) 静的コンテンツと動的コンテンツの提供を分離することは良い考えです。そうすれば、動的コンテンツ生成部分でパフォーマンスの問題が発生し始めても、静的コンテンツの提供には影響しません。

于 2009-09-20T15:05:02.020 に答える