問題タブ [aiohttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - イナゴを使用した aiohttp websocket のパフォーマンス テスト
aiohttp python ライブラリを使用して websocket サーバーを作成しました。
今、イナゴとこのスニペットを使用してパフォーマンスをテストしようとしていますが、イナゴは 2000 を超える接続を開くことができません (websocket.create_connection() でエラーが発生します: [Errno 104] Connection reset by peer)。
どこに問題があるのか わかりません。イナゴがあまり多くの接続を開くことができないか、aiohttp が非常に多くの接続を処理できないか (ただし、エラーは書き込まれません)、または ubuntu が新しい接続をドロップする可能性があります (ulimit を 1000000 に設定しましたが、CPU 使用率はほぼ 100% です)。
python - プロキシ接続を介してヘッダー付きの aiohttp ポスト リクエストを送信する
私が今持っているもの(Python 3.4):
ドキュメントの内容:
では、aiohttp を使用したプロキシ接続を介して、ヘッダー付きのポスト リクエストを送信するにはどうすればよいでしょうか。
ありがとう。
python - aiohttp: 1 秒あたりの最大リクエスト数を設定します
aiohttpを使用してクライアント側で1秒あたりの最大リクエスト数を設定(制限)するにはどうすればよいですか?
python - 非同期サーバーを使用した長時間実行タスク
誰もが django で長時間実行されるタスクを処理する方法を知っていると思います: セロリを使用してリラックスします。しかし、aiohttp (またはトルネード) を使用して Websocket の利点を得たい場合はどうすればよいでしょうか?
数秒から数分 (5 ~ 10 分) かかる非常に CPU バウンドのタスクがあるとします。このタスクを websocket ループで処理し、進行状況をユーザーに通知するのはかなり良い考えのようです。ajax リクエストがなく、短いタスクに対する応答が非常に高速です。
しかし一方で、私が理解しているように、そのような方法で提供されるCPUバウンドタスクはスレッド全体をブロックします。アプリケーションを使用したい 10 人のワーカーと 11 人のクライアントがいる場合、1 番目のクライアントのタスクが完了するまで、11 番目のクライアントは提供されません。
たぶん、セロリで大きく見えるタスクとメインループで小さく見えるタスクを実行する必要がありますか?
それで、私の質問: 非同期サーバーで長時間実行されるタスクを処理するための適切な設計パターンはありますか?
ありがとう!
python-3.5 - aiohttp サーバーを使用してファイルをダウンロードするオプションを提供する
aiohttp / asyncio を使用してダウンロード可能なファイルを提供するにはどうすればよいでしょうか?
私は使用しています:
単にコンテンツを提供するだけです。
python - 複数のサーバー/ワーカー間で websocket を管理する方法
aiohttpにはwebsocketsのサポートが組み込まれています。とてもシンプルでうまく機能します。
ドキュメントの例の簡略版は次のとおりです。
この例でws
は、クライアントとの Websocket 接続への参照です。@Crandel がここで行っているrequest.app
ように (つまり、グローバル状態)、この参照を に簡単に入れることができますが、各アプリ サーバー (さらには各ワーカー) が独自のインスタンスを持つため、実稼働アプリではできません。app
これに受け入れられたパターンはありますか?別の方法はありますか?
注: セッションについて言及しているわけではありません。接続について言及しています。サーバー B のアプリケーション コードでイベントが発生したときに、サーバー A に接続しているクライアントにメッセージを送信したいなど。