2013-06-14 2 views
6

MITMProxy를 Python에서 사용하는 동안 성능이 매우 저하됩니다. 우리는 requests Python 라이브러리를 사용하여 맞춤 전달 요청을합니다.MITMProxy 성능 저하

우리 프로그램은 MITMProxy에서 스크립트 모드를 사용하여 클라이언트의 요청을 기반으로 사용자 지정 요청을 만든 다음 응답을 반환합니다. 따라서 기본적으로 프록시에 대한 모든 요청에 ​​대해 requests으로 새 요청 개체가 작성되고 전달 된 다음 반환됩니다.

MITMProxy를 사용하여 요청을 전달할 때 어떻게 성능을 향상시킬 수 있습니까? 그래서 인라인 스크립트 뭔가를 처리 할 때,

mitmproxy 원시적 하나의 흐름을 가지고 :

+0

이 지금 받고있는 것을 성능 모르게 대답하는 것은 매우 어렵습니다, 어떤 성능이 기대 (전체 공개 나는이 기능을 저술). 또한 성능 문제가 MITMProxy에 있다고 제안하는 것 같습니다. 이를 확인하기 위해 무엇을 했습니까 (예 : 사용중인 라이브러리 또는 코드의 속도 저하를 방지하기 위해 알려진 성능이있는 최소로드 생성기를 시도했습니다). –

+0

당신을위한 "성과"의 척도는 무엇입니까? (나는 응답 시간을 추측하고 있습니까?) MITMProxy는 고성능 솔루션을 제공하지 않습니다. 실제로, MITMProxy가 어떻게 작동하는지 (http://mitmproxy.org/doc/howmitmproxy.html) 읽어보십시오. MITMProxy의 높은 성능을 기대하는 것이 공평하지 않은 이유를 직접 알게 될 것입니다. MITMProxy는 내부적으로 (특히 https 트래픽에 대한) 여러 요청을 할 수 있습니다. 그 위에 다른 요청 객체 레이어를 추가하는 것처럼 보입니다. –

답변

6

나는 얼마 전에 후안이 문제를 해결하지만, 최근에, 나를 참조 용 솔루션을 떠나게 비슷한 질문을받은 다른 요청은 차단됩니다. libmproxy.script.concurrent 데코레이터를 사용하여 스크립트를 스레드로 실행할 수 있습니다. 자세한 내용은 docs을 참조하십시오.

는 :