2013-06-14 4 views
6

PythonでMITMProxyを使用しているときにパフォーマンスが非常に低下しています。私たちは、requests Pythonライブラリを使用してカスタム転送のリクエストをしています。MITMProxyのパフォーマンスが悪い

このプログラムでは、MITMProxyでスクリプトモードを使用して、クライアントからの要求に基づいてカスタム要求を作成し、応答を返します。したがって、基本的には、プロキシに対するすべての要求に対して、新しい要求オブジェクトがrequestsで構築され、転送されてから返されます。

リクエストを転送するためにMITMProxyを使用する場合、どのようにパフォーマンスを向上させることができますか?

+0

これは、あなたが今になっており、どのようなパフォーマンスあなたが期待しているものの性能を知らなくても答えることは非常に困難です。また、パフォーマンスの問題がMITMProxyにあることを示唆しているようです。これを確認するために何をしましたか(たとえば、コードやライブラリの遅さを排除するために、既知の高性能な最小限の負荷生成器を試してみました)。 –

+0

ここでは「パフォーマンス」の尺度は何ですか(私は応答時間を推測しています)。 MITMProxyは、高性能のソリューションを提供するものではありません。実際、MITMProxyの動作(http://mitmproxy.org/doc/howmitmproxy.html)を読んでみると、MITMProxyの高性能が期待できない理由が分かります。 MITMProxyは内部的にいくつかのリクエスト(特にhttpsトラフィック用)を行うことができます。その上に別のリクエストオブジェクトレイヤーを追加するようです。 –

答えて

6

私はしばらく前にファンとこの問題を修正しますが、最近、同様の質問を受けた、私は参考のためにここに解決策を残してみましょう:

mitmproxyは、プリミティブ単一のフローを持っているので、インラインスクリプトは、何かを処理しているとき、他のリクエストはブロックされます。スクリプトは、libmproxy.script.concurrentデコレータを使用してスレッド化して実行できます。詳細については、docsをご覧ください。

(フル開示:私はこの機能を執筆)

関連する問題