Hello Artem,
Go ahead and propose a patch or PR.
It will be a clearer base to discuss.

Thank you

On Wed, Aug 22, 2018 at 10:56 AM Artem Fedorov <[email protected]>
wrote:

> I work with the latest JMeter version from github
> (revision f27c31590cf07bc8427663b62fc22d6d650b95af)
>
> I create a Thread Group with 1 loop and 1 user. This Thread Group contains
> View Results Tree (Listener) and HTTP Resuest (Sampler)
>
> Configuration of HTTP Sampler:
>
>         <HTTPSamplerProxy guiclass="HttpTestSampleGui"
> > testclass="HTTPSamplerProxy" testname="HTTP Request" enabled="true">
> >           <elementProp name="HTTPsampler.Arguments"
> > elementType="Arguments" guiclass="HTTPArgumentsPanel"
> testclass="Arguments"
> > testname="User Defined Variables" enabled="true">
> >             <collectionProp name="Arguments.arguments"/>
> >           </elementProp>
> >           <stringProp name="HTTPSampler.domain"></stringProp>
> >           <stringProp name="HTTPSampler.port"></stringProp>
> >           <stringProp name="HTTPSampler.protocol"></stringProp>
> >           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
> >           <stringProp name="HTTPSampler.path">http://blazedemo.com
> > </stringProp>
> >           <stringProp name="HTTPSampler.method">GET</stringProp>
> >           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
> >           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
> >           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
> >           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
> >           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
> >           <stringProp name="HTTPSampler.proxyHost">localhost</stringProp>
> >           <stringProp name="HTTPSampler.proxyPort">3321</stringProp>
> >           <stringProp name="HTTPSampler.proxyUser">artem</stringProp>
> >           <stringProp name="HTTPSampler.proxyPass">artem</stringProp>
> >           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
> >           <stringProp name="HTTPSampler.response_timeout"></stringProp>
> >         </HTTPSamplerProxy>
>
>
> When I run this Test Plan I see 1 sample in the View Results Tree, but in
> the access.log of squid I see 2 request from JMeter.
>
> 1534844834.248      0 127.0.0.1 TCP_DENIED/407 4056 GET
> > http://blazedemo.com/ - HIER_NONE/- text/html
> > 1534844834.320     52 127.0.0.1 TCP_MISS/200 8077 GET
> > http://blazedemo.com/ artem HIER_DIRECT/54.93.131.97 text/html
>
>
> So, in real test each Sampler will send 2 requests:
> - 1st without authentication data (and will receive 407 http response code)
>  - TCP_DENIED/407
> - 2nd with authentication data(username/password/type) - will be a success
> - TCP_MISS/200
>
> JMeter (httpclient) send 1st request for detect authentication type
> (Basic/Digest/NTLM/SPNEGO/Kerberos) which use proxy server.
> If we will have 2 loops the JMeter will send 4 requests, 3 loops = 6
> requests etc. I would like to reduce number of request to the proxy server
> and make request for detect authentication type once at the start of the
> loop
>
> Artem
>
> On Wed, Aug 22, 2018 at 12:26 AM, Philippe Mouawad <
> [email protected]> wrote:
>
> > Hello Artem,
> > I am not sure to understand.
> >
> > Can you clarify with an example or reformulating what you mean by HTTP
> > Request that use proxy with authentication.
> >
> > and also clarify what’s after that, it’s really not clear for me.
> >
> > Thank you
> >
> > On Tuesday, August 21, 2018, Artem Fedorov <[email protected]
> >
> > wrote:
> >
> > > HI All
> > >
> > > I configure HTTP Request that use proxy with authentication
> > >
> > > In proxy log I can see, that JMeter *always send 2 requests*:  (I used
> > > `squid` in tests)
> > >
> > > 1534844834.248      0 127.0.0.1 TCP_DENIED/407 4056 GET
> > > > http://blazedemo.com/ - HIER_NONE/- text/html
> > > > 1534844834.320     52 127.0.0.1 TCP_MISS/200 8077 GET
> > > > http://blazedemo.com/ artem HIER_DIRECT/54.93.131.97 text/html
> > >
> > >
> > > The first request JMeter send without authentication options, because
> > this
> > > options are create after server got a response with 401/407 code.
> > >
> > > In performance test I'll see the following log: (50 % of all requests
> are
> > > send without authentication options) - IMO this is incorrect load of
> > proxy
> > > server or we lose a lot of time for create authentication scheme for
> each
> > > request
> > >
> > > - TCP_DENIED/407 (without proxy authentication)
> > > - TCP_MISS/200 (with proxy authentication)
> > > - TCP_DENIED/407 (without proxy authentication)
> > > - TCP_MISS/200 (with proxy authentication)
> > > - TCP_DENIED/407 (without proxy authentication)
> > > - TCP_MISS/200 (with proxy authentication)
> > > ....
> > >
> > > The first request (the response for this request) use by httpclient for
> > > detect Standard authentication type
> (Basic/Digest/NTLM/SPNEGO/Kerberos).
> > I
> > > think If we have not dynamic proxy we can *reuse* knowledges about
> > > authentication type in the second and subsequent requests.
> > > After such changes we will see the following log:
> > >
> > > - TCP_DENIED/407 (without proxy authentication)
> > > - TCP_MISS/200 (with proxy authentication)
> > > - TCP_MISS/200 (with proxy authentication)
> > > - TCP_MISS/200 (with proxy authentication)
> > > ....
> > >
> > > What do you think about such changes? If all is OK I can contribute the
> > fix
> > >
> > >
> > > Thanks,
> > > Artem
> > >
> >
> >
> > --
> > Cordialement.
> > Philippe Mouawad.
> > Ubik-Ingénierie
> >
> > UBIK LOAD PACK Web Site <http://www.ubikloadpack.com/>
> >
> > UBIK LOAD PACK on TWITTER <https://twitter.com/ubikloadpack>
> >
>


-- 
Cordialement.
Philippe Mouawad.

Reply via email to