timing difference for large (?) requests

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

timing difference for large (?) requests

Alexander Podelko
Hi,
Moving one my script to JMeter (3.3) I noticed a significant timing difference for some requests (between JMeter and measurements / other tools).  
For example, here is what I see in Fiddler for one request:

POST http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-4d37-8d2d-5b9049bd2916/import HTTP/1.1Host: xxx:9000Connection: keep-aliveContent-Length: 157Accept: */*Origin: <a href="http://xxx:9000Timezone:">http://xxx:9000Timezone: America/DenverX-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36Content-Type: application/jsonReferer: http://xxx:9000/epm/?root=workarea&workarea=view&id=ui-rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-7c93a3ec6b7dAccept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: EPM_Remote_User=b8e6T+U6DAXmDCZyx8WntMnvce/g39f2Di5KKPTe9yS2jvCmac6KM11weVtqKwEY; JSESSIONID=TZviFRa7mudww7e1LIFyialL8CIo6MZS2Nu9yjyw6AYUCObhMgCt!-236747468
{"fileUri": "http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-4d37-8d2d-5b9049bd2916/attachments/importFile/b94d2b50-d529-4a01-afb9-2bfdd0d78a4f" }

Request Count:   1Bytes Sent:      950 (headers:793; body:157)Bytes Received:  7,065,667 (headers:550; body:7,065,117)
ACTUAL PERFORMANCE--------------ClientConnected: 15:06:58.147ClientBeginRequest: 15:07:11.094GotRequestHeaders: 15:07:11.094ClientDoneRequest: 15:07:11.094Determine Gateway: 16msDNS Lookup:  0msTCP/IP Connect: 0msHTTPS Handshake: 0msServerConnected: 15:07:10.964FiddlerBeginRequest: 15:07:11.095ServerGotRequest: 15:07:11.095ServerBeginResponse: 15:08:26.158GotResponseHeaders: 15:08:26.158ServerDoneResponse: 15:08:26.210ClientBeginResponse: 15:08:26.222ClientDoneResponse: 15:08:26.227
 Overall Elapsed: 0:01:15.132
RESPONSE BYTES (by Content-Type)--------------application/json: 7,065,117       ~headers~: 550

and here is what I see in JMeter (from the same machine):
POST http://xxx:9000/epm/ui-rest/v1/requests/b079bd62-4964-4adf-8564-d35ec33d0993/import
POST data:{"fileUri": "http://xxx:9000/epm/ui-rest/v1/requests/b079bd62-4964-4adf-8564-d35ec33d0993/attachments/importFile/5eb5f197-ebfb-4de1-8238-35ad0060d857" }
 Cookie Data:
EPM_Remote_User=UngMo7mbHE9R5SdofArYMZO44fBaRL3QcmxFT6e5kmnPp0a5QV5IbXoJFJmVCCzf; JSESSIONID=7GHhvdbivYNGxwfwd2MPPbsoFpj3hzd5nGD4_nE1RjeaAx_TT1tG!-236747468
Request Headers:Connection: keep-aliveReferer: http://xxx:9000/epm/?root=workarea&workarea=view&id=ui-rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-7c93a3ec6b7dAccept-Language: en-US,en;q=0.5Timezone: America/DenverX-Requested-With: XMLHttpRequestContent-Type: application/jsonAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0Accept: */*Content-Length: 157Host: xxx:9000


Thread Name: Thread Group 1-1Sample Start: 2018-01-10 13:28:41 MSTLoad time: 37327Connect Time: 0Latency: 37272Size in bytes: 7065667Sent bytes:863Headers size in bytes: 550Body size in bytes: 7065117Sample Count: 1Error Count: 0Data type ("text"|"bin"|""): textResponse code: 200Response message: OK
Response headers:HTTP/1.1 200 OKCache-Control: no-cache, no-store, max-age=0, must-revalidateDate: Wed, 10 Jan 2018 20:28:41 GMTPragma: no-cacheTransfer-Encoding: chunkedContent-Type: application/jsonExpires: 0Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCHP3P: X-CONTENT-TYPE-OPTIONS:nosniffX-XSS-Protection: 1; mode=blockAccess-Control-Allow-Headers: X-Requested-With, Content-TypeX-Content-Type-Options: nosniffAccess-Control-Allow-Origin: *Content-Language: en-USX-Powered-By: Servlet/2.5 JSP/2.1X-Frame-Options: DENY

HTTPSampleResult fields:ContentType: application/jsonDataEncoding: null

So in JMeter it takes 37 sec while in the real product (and another load testing tool) it takes ab. 75 sec. I see some difference in other requests too, but this one looks as a better example (my guess is that the difference becomes bigger for larger requests - and this one returns 7M). Everything inside a single data center, latency (ping) < 1 ms. 
Any thoughts?
Thanks,Alex
Reply | Threaded
Open this post in threaded view
|

Re: timing difference for large (?) requests

Ivan Rancati-3
Very interesting. If I read right the numbers, the difference between
Fiddler and JMeter is in the latency

Time between begin and end of the server response: nearly identical
JMeter
Load time 37327-Latency 37272 = 55 ms
Fiddler
ServerDoneResponse: 15:08:26.210 - ServerBeginResponse: 15:08:26.158 = 52 ms

Latency: big difference
JMeter
37272 ms
Fiddler
ServerBeginResponse: 15:08:26.158 - ClientDoneRequest: 15:07:11.094 = 1m 15064
ms

It's a long shot, but could it have to do with the different "q" parameter
for quality in the Accept-Language header?
q = 0.9 for Fiddler, 0.5 for JMeter

cheers
Ivan


On Wed, Jan 10, 2018 at 11:32 PM, Alexander Podelko <
[hidden email]> wrote:

> Hi,
> Moving one my script to JMeter (3.3) I noticed a significant timing
> difference for some requests (between JMeter and measurements / other
> tools).
> For example, here is what I see in Fiddler for one request:
>
> POST http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
> 4d37-8d2d-5b9049bd2916/import HTTP/1.1Host: xxx:9000Connection:
> keep-aliveContent-Length: 157Accept: */*Origin: <a href="http://xxx:9000Timezone:">http://xxx:9000Timezone:
> America/DenverX-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0
> (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
> Chrome/63.0.3239.132 Safari/537.36Content-Type: application/jsonReferer:
> http://xxx:9000/epm/?root=workarea&workarea=view&id=ui-
> rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-7c93a3ec6b7dAccept-Encoding:
> gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: EPM_Remote_User=b8e6T+
> U6DAXmDCZyx8WntMnvce/g39f2Di5KKPTe9yS2jvCmac6KM11weVtqKwEY; JSESSIONID=
> TZviFRa7mudww7e1LIFyialL8CIo6MZS2Nu9yjyw6AYUCObhMgCt!-236747468
> {"fileUri": "http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
> 4d37-8d2d-5b9049bd2916/attachments/importFile/b94d2b50-d529-4a01-afb9-
> 2bfdd0d78a4f" }
>
> Request Count:   1Bytes Sent:      950 (headers:793; body:157)Bytes
> Received:  7,065,667 (headers:550; body:7,065,117)
> ACTUAL PERFORMANCE--------------ClientConnected: 15:06:58.147ClientBeginRequest:
> 15:07:11.094GotRequestHeaders: 15:07:11.094ClientDoneRequest:
> 15:07:11.094Determine Gateway: 16msDNS Lookup:  0msTCP/IP Connect: 0msHTTPS
> Handshake: 0msServerConnected: 15:07:10.964FiddlerBeginRequest:
> 15:07:11.095ServerGotRequest: 15:07:11.095ServerBeginResponse: 15:08:26.158GotResponseHeaders:
> 15:08:26.158ServerDoneResponse: 15:08:26.210ClientBeginResponse: 15:08:26.222ClientDoneResponse:
> 15:08:26.227
>  Overall Elapsed: 0:01:15.132
> RESPONSE BYTES (by Content-Type)--------------application/json:
> 7,065,117       ~headers~: 550
>
> and here is what I see in JMeter (from the same machine):
> POST http://xxx:9000/epm/ui-rest/v1/requests/b079bd62-4964-
> 4adf-8564-d35ec33d0993/import
> POST data:{"fileUri": "http://xxx:9000/epm/ui-rest/
> v1/requests/b079bd62-4964-4adf-8564-d35ec33d0993/attachments/importFile/
> 5eb5f197-ebfb-4de1-8238-35ad0060d857" }
>  Cookie Data:
> EPM_Remote_User=UngMo7mbHE9R5SdofArYMZO44fBaRL
> 3QcmxFT6e5kmnPp0a5QV5IbXoJFJmVCCzf; JSESSIONID=
> 7GHhvdbivYNGxwfwd2MPPbsoFpj3hzd5nGD4_nE1RjeaAx_TT1tG!-236747468
> Request Headers:Connection: keep-aliveReferer: http://xxx:9000/epm/?root=
> workarea&workarea=view&id=ui-rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-
> 7c93a3ec6b7dAccept-Language: en-US,en;q=0.5Timezone:
> America/DenverX-Requested-With: XMLHttpRequestContent-Type:
> application/jsonAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0
> (Windows NT 6.3; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0Accept:
> */*Content-Length: 157Host: xxx:9000
>
>
> Thread Name: Thread Group 1-1Sample Start: 2018-01-10 13:28:41 MSTLoad
> time: 37327Connect Time: 0Latency: 37272Size in bytes: 7065667Sent
> bytes:863Headers size in bytes: 550Body size in bytes: 7065117Sample Count:
> 1Error Count: 0Data type ("text"|"bin"|""): textResponse code: 200Response
> message: OK
> Response headers:HTTP/1.1 200 OKCache-Control: no-cache, no-store,
> max-age=0, must-revalidateDate: Wed, 10 Jan 2018 20:28:41 GMTPragma:
> no-cacheTransfer-Encoding: chunkedContent-Type: application/jsonExpires:
> 0Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCHP3P:
> X-CONTENT-TYPE-OPTIONS:nosniffX-XSS-Protection: 1;
> mode=blockAccess-Control-Allow-Headers: X-Requested-With,
> Content-TypeX-Content-Type-Options: nosniffAccess-Control-Allow-Origin:
> *Content-Language: en-USX-Powered-By: Servlet/2.5 JSP/2.1X-Frame-Options:
> DENY
>
> HTTPSampleResult fields:ContentType: application/jsonDataEncoding: null
>
> So in JMeter it takes 37 sec while in the real product (and another load
> testing tool) it takes ab. 75 sec. I see some difference in other requests
> too, but this one looks as a better example (my guess is that the
> difference becomes bigger for larger requests - and this one returns 7M).
> Everything inside a single data center, latency (ping) < 1 ms.
> Any thoughts?
> Thanks,Alex
>
Reply | Threaded
Open this post in threaded view
|

Re: timing difference for large (?) requests

sebb-2-2
Or the way the latency is measured, as that will depend on the protocol stack.

On 11 January 2018 at 17:20, Ivan Rancati <[hidden email]> wrote:

> Very interesting. If I read right the numbers, the difference between
> Fiddler and JMeter is in the latency
>
> Time between begin and end of the server response: nearly identical
> JMeter
> Load time 37327-Latency 37272 = 55 ms
> Fiddler
> ServerDoneResponse: 15:08:26.210 - ServerBeginResponse: 15:08:26.158 = 52 ms
>
> Latency: big difference
> JMeter
> 37272 ms
> Fiddler
> ServerBeginResponse: 15:08:26.158 - ClientDoneRequest: 15:07:11.094 = 1m 15064
> ms
>
> It's a long shot, but could it have to do with the different "q" parameter
> for quality in the Accept-Language header?
> q = 0.9 for Fiddler, 0.5 for JMeter
>
> cheers
> Ivan
>
>
> On Wed, Jan 10, 2018 at 11:32 PM, Alexander Podelko <
> [hidden email]> wrote:
>
>> Hi,
>> Moving one my script to JMeter (3.3) I noticed a significant timing
>> difference for some requests (between JMeter and measurements / other
>> tools).
>> For example, here is what I see in Fiddler for one request:
>>
>> POST http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
>> 4d37-8d2d-5b9049bd2916/import HTTP/1.1Host: xxx:9000Connection:
>> keep-aliveContent-Length: 157Accept: */*Origin: <a href="http://xxx:9000Timezone:">http://xxx:9000Timezone:
>> America/DenverX-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0
>> (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
>> Chrome/63.0.3239.132 Safari/537.36Content-Type: application/jsonReferer:
>> http://xxx:9000/epm/?root=workarea&workarea=view&id=ui-
>> rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-7c93a3ec6b7dAccept-Encoding:
>> gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: EPM_Remote_User=b8e6T+
>> U6DAXmDCZyx8WntMnvce/g39f2Di5KKPTe9yS2jvCmac6KM11weVtqKwEY; JSESSIONID=
>> TZviFRa7mudww7e1LIFyialL8CIo6MZS2Nu9yjyw6AYUCObhMgCt!-236747468
>> {"fileUri": "http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
>> 4d37-8d2d-5b9049bd2916/attachments/importFile/b94d2b50-d529-4a01-afb9-
>> 2bfdd0d78a4f" }
>>
>> Request Count:   1Bytes Sent:      950 (headers:793; body:157)Bytes
>> Received:  7,065,667 (headers:550; body:7,065,117)
>> ACTUAL PERFORMANCE--------------ClientConnected: 15:06:58.147ClientBeginRequest:
>> 15:07:11.094GotRequestHeaders: 15:07:11.094ClientDoneRequest:
>> 15:07:11.094Determine Gateway: 16msDNS Lookup:  0msTCP/IP Connect: 0msHTTPS
>> Handshake: 0msServerConnected: 15:07:10.964FiddlerBeginRequest:
>> 15:07:11.095ServerGotRequest: 15:07:11.095ServerBeginResponse: 15:08:26.158GotResponseHeaders:
>> 15:08:26.158ServerDoneResponse: 15:08:26.210ClientBeginResponse: 15:08:26.222ClientDoneResponse:
>> 15:08:26.227
>>  Overall Elapsed: 0:01:15.132
>> RESPONSE BYTES (by Content-Type)--------------application/json:
>> 7,065,117       ~headers~: 550
>>
>> and here is what I see in JMeter (from the same machine):
>> POST http://xxx:9000/epm/ui-rest/v1/requests/b079bd62-4964-
>> 4adf-8564-d35ec33d0993/import
>> POST data:{"fileUri": "http://xxx:9000/epm/ui-rest/
>> v1/requests/b079bd62-4964-4adf-8564-d35ec33d0993/attachments/importFile/
>> 5eb5f197-ebfb-4de1-8238-35ad0060d857" }
>>  Cookie Data:
>> EPM_Remote_User=UngMo7mbHE9R5SdofArYMZO44fBaRL
>> 3QcmxFT6e5kmnPp0a5QV5IbXoJFJmVCCzf; JSESSIONID=
>> 7GHhvdbivYNGxwfwd2MPPbsoFpj3hzd5nGD4_nE1RjeaAx_TT1tG!-236747468
>> Request Headers:Connection: keep-aliveReferer: http://xxx:9000/epm/?root=
>> workarea&workarea=view&id=ui-rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-
>> 7c93a3ec6b7dAccept-Language: en-US,en;q=0.5Timezone:
>> America/DenverX-Requested-With: XMLHttpRequestContent-Type:
>> application/jsonAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0
>> (Windows NT 6.3; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0Accept:
>> */*Content-Length: 157Host: xxx:9000
>>
>>
>> Thread Name: Thread Group 1-1Sample Start: 2018-01-10 13:28:41 MSTLoad
>> time: 37327Connect Time: 0Latency: 37272Size in bytes: 7065667Sent
>> bytes:863Headers size in bytes: 550Body size in bytes: 7065117Sample Count:
>> 1Error Count: 0Data type ("text"|"bin"|""): textResponse code: 200Response
>> message: OK
>> Response headers:HTTP/1.1 200 OKCache-Control: no-cache, no-store,
>> max-age=0, must-revalidateDate: Wed, 10 Jan 2018 20:28:41 GMTPragma:
>> no-cacheTransfer-Encoding: chunkedContent-Type: application/jsonExpires:
>> 0Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCHP3P:
>> X-CONTENT-TYPE-OPTIONS:nosniffX-XSS-Protection: 1;
>> mode=blockAccess-Control-Allow-Headers: X-Requested-With,
>> Content-TypeX-Content-Type-Options: nosniffAccess-Control-Allow-Origin:
>> *Content-Language: en-USX-Powered-By: Servlet/2.5 JSP/2.1X-Frame-Options:
>> DENY
>>
>> HTTPSampleResult fields:ContentType: application/jsonDataEncoding: null
>>
>> So in JMeter it takes 37 sec while in the real product (and another load
>> testing tool) it takes ab. 75 sec. I see some difference in other requests
>> too, but this one looks as a better example (my guess is that the
>> difference becomes bigger for larger requests - and this one returns 7M).
>> Everything inside a single data center, latency (ping) < 1 ms.
>> Any thoughts?
>> Thanks,Alex
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

pmd
Reply | Threaded
Open this post in threaded view
|

Re: timing difference for large (?) requests

pmd
In reply to this post by Alexander Podelko
Hello Alexander,
Could you give more details on:
1/ How you measure response time in real product ? Is it a browser ?
2/ In the other tool you use ? what is used ? does it take into account
Rendering ?
3/ which version of JMeter are you using ?
4/ IMU, JMeter measures shorter response time, so what makes you think it's
the other tool that is correct ?

JMeter only computes time to receive last byte not full rendering time, but
if your tool has some Rendering that takes time it would not be measured
and would explain the difference.

Unless you provide more details , I am afraid it is hard to help.
Regards


On Wed, Jan 10, 2018 at 11:32 PM, Alexander Podelko <
[hidden email]> wrote:

> Hi,
> Moving one my script to JMeter (3.3) I noticed a significant timing
> difference for some requests (between JMeter and measurements / other
> tools).
> For example, here is what I see in Fiddler for one request:
>
> POST http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
> 4d37-8d2d-5b9049bd2916/import HTTP/1.1Host: xxx:9000Connection:
> keep-aliveContent-Length: 157Accept: */*Origin: <a href="http://xxx:9000Timezone:">http://xxx:9000Timezone:
> America/DenverX-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0
> (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
> Chrome/63.0.3239.132 Safari/537.36Content-Type: application/jsonReferer:
> http://xxx:9000/epm/?root=workarea&workarea=view&id=ui-
> rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-7c93a3ec6b7dAccept-Encoding:
> gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: EPM_Remote_User=b8e6T+
> U6DAXmDCZyx8WntMnvce/g39f2Di5KKPTe9yS2jvCmac6KM11weVtqKwEY; JSESSIONID=
> TZviFRa7mudww7e1LIFyialL8CIo6MZS2Nu9yjyw6AYUCObhMgCt!-236747468
> {"fileUri": "http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
> 4d37-8d2d-5b9049bd2916/attachments/importFile/b94d2b50-d529-4a01-afb9-
> 2bfdd0d78a4f" }
>
> Request Count:   1Bytes Sent:      950 (headers:793; body:157)Bytes
> Received:  7,065,667 (headers:550; body:7,065,117)
> ACTUAL PERFORMANCE--------------ClientConnected: 15:06:58.147ClientBeginRequest:
> 15:07:11.094GotRequestHeaders: 15:07:11.094ClientDoneRequest:
> 15:07:11.094Determine Gateway: 16msDNS Lookup:  0msTCP/IP Connect: 0msHTTPS
> Handshake: 0msServerConnected: 15:07:10.964FiddlerBeginRequest:
> 15:07:11.095ServerGotRequest: 15:07:11.095ServerBeginResponse: 15:08:26.158GotResponseHeaders:
> 15:08:26.158ServerDoneResponse: 15:08:26.210ClientBeginResponse: 15:08:26.222ClientDoneResponse:
> 15:08:26.227
>  Overall Elapsed: 0:01:15.132
> RESPONSE BYTES (by Content-Type)--------------application/json:
> 7,065,117       ~headers~: 550
>
> and here is what I see in JMeter (from the same machine):
> POST http://xxx:9000/epm/ui-rest/v1/requests/b079bd62-4964-
> 4adf-8564-d35ec33d0993/import
> POST data:{"fileUri": "http://xxx:9000/epm/ui-rest/
> v1/requests/b079bd62-4964-4adf-8564-d35ec33d0993/attachments/importFile/
> 5eb5f197-ebfb-4de1-8238-35ad0060d857" }
>  Cookie Data:
> EPM_Remote_User=UngMo7mbHE9R5SdofArYMZO44fBaRL
> 3QcmxFT6e5kmnPp0a5QV5IbXoJFJmVCCzf; JSESSIONID=
> 7GHhvdbivYNGxwfwd2MPPbsoFpj3hzd5nGD4_nE1RjeaAx_TT1tG!-236747468
> Request Headers:Connection: keep-aliveReferer: http://xxx:9000/epm/?root=
> workarea&workarea=view&id=ui-rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-
> 7c93a3ec6b7dAccept-Language: en-US,en;q=0.5Timezone:
> America/DenverX-Requested-With: XMLHttpRequestContent-Type:
> application/jsonAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0
> (Windows NT 6.3; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0Accept:
> */*Content-Length: 157Host: xxx:9000
>
>
> Thread Name: Thread Group 1-1Sample Start: 2018-01-10 13:28:41 MSTLoad
> time: 37327Connect Time: 0Latency: 37272Size in bytes: 7065667Sent
> bytes:863Headers size in bytes: 550Body size in bytes: 7065117Sample Count:
> 1Error Count: 0Data type ("text"|"bin"|""): textResponse code: 200Response
> message: OK
> Response headers:HTTP/1.1 200 OKCache-Control: no-cache, no-store,
> max-age=0, must-revalidateDate: Wed, 10 Jan 2018 20:28:41 GMTPragma:
> no-cacheTransfer-Encoding: chunkedContent-Type: application/jsonExpires:
> 0Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCHP3P:
> X-CONTENT-TYPE-OPTIONS:nosniffX-XSS-Protection: 1;
> mode=blockAccess-Control-Allow-Headers: X-Requested-With,
> Content-TypeX-Content-Type-Options: nosniffAccess-Control-Allow-Origin:
> *Content-Language: en-USX-Powered-By: Servlet/2.5 JSP/2.1X-Frame-Options:
> DENY
>
> HTTPSampleResult fields:ContentType: application/jsonDataEncoding: null
>
> So in JMeter it takes 37 sec while in the real product (and another load
> testing tool) it takes ab. 75 sec. I see some difference in other requests
> too, but this one looks as a better example (my guess is that the
> difference becomes bigger for larger requests - and this one returns 7M).
> Everything inside a single data center, latency (ping) < 1 ms.
> Any thoughts?
> Thanks,Alex
>



--
Cordialement.
Philippe Mouawad.
Reply | Threaded
Open this post in threaded view
|

Re: timing difference for large (?) requests

Alexander Podelko
 Hi,
1. For example, in Fiddler - as specified below.
2. Oracle Application Testing Suite. No rendering, it is recording on protocol level.
3. 3.3
4. Only that in real browser / Fiddler I see different time - and that pretty much matching what I see in OATS.
I understand that here we may have interesting subtle issues - but I'd like to understand what they are as difference is quite noticeable. Clearly timing issues are very difficult to investigate - but this looks like may be a good example to check if there is any issue with that. 
I will be happy to do whatever further measurement is needed. 
Thanks,Alex
    On Thursday, January 25, 2018, 11:00:40 AM EST, Philippe Mouawad <[hidden email]> wrote:  
 
 Hello Alexander,
Could you give more details on:
1/ How you measure response time in real product ? Is it a browser ?
2/ In the other tool you use ? what is used ? does it take into account
Rendering ?
3/ which version of JMeter are you using ?
4/ IMU, JMeter measures shorter response time, so what makes you think it's
the other tool that is correct ?

JMeter only computes time to receive last byte not full rendering time, but
if your tool has some Rendering that takes time it would not be measured
and would explain the difference.

Unless you provide more details , I am afraid it is hard to help.
Regards


On Wed, Jan 10, 2018 at 11:32 PM, Alexander Podelko <
[hidden email]> wrote:

> Hi,
> Moving one my script to JMeter (3.3) I noticed a significant timing
> difference for some requests (between JMeter and measurements / other
> tools).
> For example, here is what I see in Fiddler for one request:
>
> POST http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
> 4d37-8d2d-5b9049bd2916/import HTTP/1.1Host: xxx:9000Connection:
> keep-aliveContent-Length: 157Accept: */*Origin: <a href="http://xxx:9000Timezone:">http://xxx:9000Timezone:
> America/DenverX-Requested-With: XMLHttpRequestUser-Agent: Mozilla/5.0
> (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
> Chrome/63.0.3239.132 Safari/537.36Content-Type: application/jsonReferer:
> http://xxx:9000/epm/?root=workarea&workarea=view&id=ui-
> rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-7c93a3ec6b7dAccept-Encoding:
> gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: EPM_Remote_User=b8e6T+
> U6DAXmDCZyx8WntMnvce/g39f2Di5KKPTe9yS2jvCmac6KM11weVtqKwEY; JSESSIONID=
> TZviFRa7mudww7e1LIFyialL8CIo6MZS2Nu9yjyw6AYUCObhMgCt!-236747468
> {"fileUri": "http://xxx:9000/epm/ui-rest/v1/requests/52ea978d-e94d-
> 4d37-8d2d-5b9049bd2916/attachments/importFile/b94d2b50-d529-4a01-afb9-
> 2bfdd0d78a4f" }
>
> Request Count:  1Bytes Sent:      950 (headers:793; body:157)Bytes
> Received:  7,065,667 (headers:550; body:7,065,117)
> ACTUAL PERFORMANCE--------------ClientConnected: 15:06:58.147ClientBeginRequest:
> 15:07:11.094GotRequestHeaders: 15:07:11.094ClientDoneRequest:
> 15:07:11.094Determine Gateway: 16msDNS Lookup:  0msTCP/IP Connect: 0msHTTPS
> Handshake: 0msServerConnected: 15:07:10.964FiddlerBeginRequest:
> 15:07:11.095ServerGotRequest: 15:07:11.095ServerBeginResponse: 15:08:26.158GotResponseHeaders:
> 15:08:26.158ServerDoneResponse: 15:08:26.210ClientBeginResponse: 15:08:26.222ClientDoneResponse:
> 15:08:26.227
>  Overall Elapsed: 0:01:15.132
> RESPONSE BYTES (by Content-Type)--------------application/json:
> 7,065,117      ~headers~: 550
>
> and here is what I see in JMeter (from the same machine):
> POST http://xxx:9000/epm/ui-rest/v1/requests/b079bd62-4964-
> 4adf-8564-d35ec33d0993/import
> POST data:{"fileUri": "http://xxx:9000/epm/ui-rest/
> v1/requests/b079bd62-4964-4adf-8564-d35ec33d0993/attachments/importFile/
> 5eb5f197-ebfb-4de1-8238-35ad0060d857" }
>  Cookie Data:
> EPM_Remote_User=UngMo7mbHE9R5SdofArYMZO44fBaRL
> 3QcmxFT6e5kmnPp0a5QV5IbXoJFJmVCCzf; JSESSIONID=
> 7GHhvdbivYNGxwfwd2MPPbsoFpj3hzd5nGD4_nE1RjeaAx_TT1tG!-236747468
> Request Headers:Connection: keep-aliveReferer: http://xxx:9000/epm/?root=
> workarea&workarea=view&id=ui-rest%2Fv1%2Fviews%2F4c819c71-4cb4-4498-ad2d-
> 7c93a3ec6b7dAccept-Language: en-US,en;q=0.5Timezone:
> America/DenverX-Requested-With: XMLHttpRequestContent-Type:
> application/jsonAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0
> (Windows NT 6.3; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0Accept:
> */*Content-Length: 157Host: xxx:9000
>
>
> Thread Name: Thread Group 1-1Sample Start: 2018-01-10 13:28:41 MSTLoad
> time: 37327Connect Time: 0Latency: 37272Size in bytes: 7065667Sent
> bytes:863Headers size in bytes: 550Body size in bytes: 7065117Sample Count:
> 1Error Count: 0Data type ("text"|"bin"|""): textResponse code: 200Response
> message: OK
> Response headers:HTTP/1.1 200 OKCache-Control: no-cache, no-store,
> max-age=0, must-revalidateDate: Wed, 10 Jan 2018 20:28:41 GMTPragma:
> no-cacheTransfer-Encoding: chunkedContent-Type: application/jsonExpires:
> 0Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCHP3P:
> X-CONTENT-TYPE-OPTIONS:nosniffX-XSS-Protection: 1;
> mode=blockAccess-Control-Allow-Headers: X-Requested-With,
> Content-TypeX-Content-Type-Options: nosniffAccess-Control-Allow-Origin:
> *Content-Language: en-USX-Powered-By: Servlet/2.5 JSP/2.1X-Frame-Options:
> DENY
>
> HTTPSampleResult fields:ContentType: application/jsonDataEncoding: null
>
> So in JMeter it takes 37 sec while in the real product (and another load
> testing tool) it takes ab. 75 sec. I see some difference in other requests
> too, but this one looks as a better example (my guess is that the
> difference becomes bigger for larger requests - and this one returns 7M).
> Everything inside a single data center, latency (ping) < 1 ms.
> Any thoughts?
> Thanks,Alex
>



--
Cordialement.
Philippe Mouawad.