サーバーとWebフレームワークがあります。フレームワークはいつ使用する必要があり、いつ他のフレームワークに置き換えることができますか?
この区別は少しぼやけています。静的ページのみを提供している場合は、lighttpdなどの高速サーバーの1つを使用します。それ以外の場合、ほとんどのサーバーは、Webアプリケーションを開発するためのさまざまな複雑さのフレームワークを提供します。Tornadoは優れたWebフレームワークです。Twistedはさらに機能が豊富で、優れたネットワーキングフレームワークと見なされています。多くのプロトコルをサポートしています。
TornadoとTwistedは、ノンブロッキングの非同期Web /ネットワーキングアプリケーション開発をサポートするフレームワークです。
トルネードはいつ使用する必要がありますか?いつ役に立たないのですか?それを使用するとき、何を考慮に入れるべきですか?
その性質上、非同期/ノンブロッキングI / Oは、I / Oを多用し、計算を多用しない場合に最適に機能します。ほとんどのWeb /ネットワークアプリケーションは、このモデルに適しています。アプリケーションで特定の計算集約型タスクの実行が必要な場合は、それをより適切に処理できる他のサービスに委任する必要があります。Tornado / TwistedはWebサーバーの役割を果たし、Web要求に応答します。
Tornadoを使用して非効率的なサイトを作成するにはどうすればよいですか?
- 計算集約的なタスクを実行する
- ブロッキング操作を導入します
しかし、それは特効薬ではないと思います。DjangoベースのサイトやTornadoを使用する他のサイトを盲目的に実行しただけでは、パフォーマンスは向上しません。
パフォーマンスは通常、完全なWebアプリケーションアーキテクチャの特徴です。アプリケーションが適切に設計されていない場合、ほとんどのWebフレームワークでパフォーマンスが低下する可能性があります。キャッシュ、負荷分散などについて考えてください。
TornadoとTwistedは妥当なパフォーマンスを提供し、パフォーマンスの高いWebアプリケーションの構築に適しています。ツイストとトルネードの両方の紹介文をチェックして、それらが何ができるかを確認できます。