Puncte:0

Is rate limiting delay included in nginx $request_time?

drapel cn

If requests are delayed by nginx rate limiting (rate limit exceeded, but within burst rate), is this delay included in the nginx $request_time total?

The nginx docs state that $request_time is "time elapsed since the first bytes were read from the client"

If a request is delayed, is that before or after request bytes are read from the client? I assume after, since rate limiting can be based on request headers, etc.

Is there a way to separate total request time and time spent specifically on sending/receiving network communication to/from the client?

Note: I am aware of $upstream_response_time, and am logging that. I specifically am concerned with differentiating specific operations within nginx (caching, rate limiting, etc), and client-side network communications.

Puncte:0
drapel cn

Deci, în testarea mea, nginx $request_time Logare face reflectă întârzierea din cauza limitării ratei.

Client:

wrk --timeout 20s -d 20 -t 79 -c 80 https://zapazoid.vistashare.net/Static/jquery.jnotify-1.1.min.js

Configurare:

fără întârziere eliminat din limitarea ratei statice și limitarea ratei la 1r/s, burst setat la 80r/s.

Rezultatele testului:

⯠wrk --timeout 20s -d 20 -t 79 -c 80 https://zapazoid.vistashare.net/Static/jquery.jnotify-1.1.min.js
Running test 20s @ https://zapazoid.vistashare.net/Static/jquery.jnotify-1.1.min.js
  79 fire și 80 conexiuni
  Statisticile subiectului Avg Stdev Max +/- Stdev
    Latență 9,97 s 5,97 s 19,93 s 56,10%
    Cerere/sec 0,27 1,57 10,00 97,56%
  41 de solicitări în 20.10s, 140.14KB citit
Cereri/sec: 2.04
Transfer/sec: 6,97KB

Jurnalele Nginx au arătat că solicitările sunt întârziate:

2021/11/29 15:40:23 [avertizare] 2608#2608: *355 cerere de întârziere, exces: 78.992, după zona „static-corp”, client: 10.100.2.130, server: zapazoid.vistashare.net, cerere: „GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1”, gazdă: „zapazoid.vistashare.net”

Jurnalul de acces a fost configurat astfel:

    log_format apm '$remote_addr - $remote_user [$time_local] '             
                   '"$request" $status $body_bytes_sent '                   
                   '"$http_referer" "$http_user_agent" '                    
                   „$request_time $upstream_response_time”                 
                   '$upstream_cache_status';

iar jurnalele de acces arătau cățărare $request_time valori (a treia valoare de la final), deoarece cererile au fost întârziate din ce în ce mai mult pentru a intra în limita configurată:

10.100.2.130 - - [29/Nov/2021:15:46:51 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 0,001 0,004 MISS
10.100.2.130 - - [29/Nov/2021:15:46:51 -0500] „GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1” 200 3098 „-” „-” 0,496 0,000 MISS
10.100.2.130 - - [29/Nov/2021:15:46:52 -0500] „GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1” 200 3098 „-” „-” 0,995 0,000 MISS
10.100.2.130 - - [29/Nov/2021:15:46:52 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 1.495 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:46:53 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 1.999 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:46:53 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 2.495 0.004 MISS
...
10.100.2.130 - - [29/Nov/2021:15:47:02 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 11.467 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:03 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 11.964 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:03 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 12.466 0.004 MISS
10.100.2.130 - - [29/Nov/2021:15:47:04 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 12.963 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:04 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 13.460 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:05 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 13.961 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:05 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 14.452 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:06 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 14.946 0.000 MISS
10.100.2.130 - - [29/Nov/2021:15:47:06 -0500] "GET /Static/jquery.jnotify-1.1.min.js HTTP/1.1" 200 3098 "-" "-" 15.446 0.000 MISS

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.