1. ホーム
  2. python

[解決済み] トルネードはいつ、どのように使うのですか?どんな時に使える?

2023-05-09 16:47:02

質問

OK、Tornado はノンブロッキングで非常に高速であり、多くの立っているリクエストを簡単に処理できます。

しかし、これは銀の弾丸ではなく、ただやみくもにTornadoでDjangoベースや他のサイトを実行しても、パフォーマンスを向上させることはできないと思います。

これについての包括的な説明を見つけることができなかったので、ここで質問させていただきました。

  • Tornado はどのような場合に使用されるべきですか。
  • どんな時に使えないのか?
  • 使用する場合、どのようなことに気をつければよいのでしょうか?
  • どのようにすれば 非効率的 を作ることができますか?
  • サーバーとウェブフレームワークがあります。 いつフレームワークを使用し、いつ他のものに置き換えることができますか?

どのように解決するのですか?

<ブロッククオート

サーバーとWebフレームワークがあります。いつフレームワークを使用し、いつ他のフレームワークに置き換えることができるのでしょうか?

この区別は少し曖昧です。静的なページしか提供しないのであれば、lighthttpd のような高速なサーバーの 1 つを使用するでしょう。そうでなければ、ほとんどのサーバーは、Web アプリケーションを開発するために、さまざまな複雑さのフレームワークを提供します。Tornadoは良いWebフレームワークです。Twistedはさらに高性能で、優れたネットワーキング・フレームワークと考えられています。これは、多くのプロトコルをサポートしています。

TornadoとTwistedは、ノンブロッキング、非同期のWeb/ネットワークアプリケーション開発をサポートするフレームワークです。

<ブロッククオート

Tornadoはいつ使うべきですか? いつ使えばいいのでしょうか? 使用する場合、どのような点に注意すればよいですか?

その性質上、非同期/非ブロック化I/Oは、I/Oに集中し、計算に集中しない場合に素晴らしい働きをします。ほとんどの Web / ネットワーキング アプリケーションは、このモデルによく合います。もしアプリケーションが特定の計算集約的なタスクを要求するなら、それをよりうまく処理できる他のサービスに委ねなければなりません。Tornado / Twisted は、ウェブサーバーの仕事をすることができ、ウェブリクエストに応答します。

Tornadoを使って非効率なサイトを作るにはどうしたらいいでしょうか?

  1. あらゆる計算集約的な作業を行う
  2. ブロッキング処理の導入

しかし、これは銀の弾丸ではなく、ただやみくもにTornadoでDjangoベースやその他のサイトを実行しても、パフォーマンスを向上させることはできないのでしょう。

パフォーマンスは通常、完全なウェブアプリケーションアーキテクチャの特性です。アプリケーションが適切に設計されていない場合、ほとんどのWebフレームワークでパフォーマンスを低下させることができます。キャッシュ、ロードバランシングなどについて考えてみてください。

TornadoとTwistedは合理的なパフォーマンスを提供し、これらはパフォーマンスの高いWebアプリケーションを構築するために適しています。TornadoとTornadoの両方について、その能力を確認するためにテスティモニアルをチェックすることができます。