[GH-ISSUE #37] Huge number of requests when following nginx logs #22

Closed
opened 2026-03-03 16:03:46 +03:00 by kerem · 3 comments
Owner

Originally created by @mkonecny on GitHub (Nov 25, 2014).
Original GitHub issue: https://github.com/mthenw/frontail/issues/37

Currently have an issue where if I follow nginx logs (which is reverse-proxying frontail), it seems like there is a positive-feedback effect happening where frontail polls after each new log event, which generates a nginx log event, which in turn causes frontail to poll again faster and faster, until I'm seeing well over 50 requests per second.

x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067224 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067254 HTTP/1.1" 200 320 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067297 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067326 HTTP/1.1" 200 322 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067356 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067399 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067428 HTTP/1.1" 200 322 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067458 HTTP/1.1" 200 320 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067502 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067531 HTTP/1.1" 200 320 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067560 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067604 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067634 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067663 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067707 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067736 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067768 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36"
Originally created by @mkonecny on GitHub (Nov 25, 2014). Original GitHub issue: https://github.com/mthenw/frontail/issues/37 Currently have an issue where if I follow nginx logs (which is reverse-proxying frontail), it seems like there is a positive-feedback effect happening where frontail polls after each new log event, which generates a nginx log event, which in turn causes frontail to poll again faster and faster, until I'm seeing well over 50 requests per second. ``` x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067224 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067254 HTTP/1.1" 200 320 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067297 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067326 HTTP/1.1" 200 322 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067356 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067399 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067428 HTTP/1.1" 200 322 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067458 HTTP/1.1" 200 320 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067502 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067531 HTTP/1.1" 200 320 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067560 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067604 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067634 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067663 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067707 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067736 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" x.x.x.x - example [25/Nov/2014:05:57:47 +0000] "GET /socket.io/1/xhr-polling/HIHz5d0gC9QFQKfFhm-7?t=1416895067768 HTTP/1.1" 200 321 "https://logger-dev.example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" ``` ``` ```
kerem closed this issue 2026-03-03 16:03:47 +03:00
Author
Owner

@mthenw commented on GitHub (Nov 25, 2014):

frontail uses socket.io underneath and, as you can see in your case, long polling is used. I'm not sure if it's wrong that there are so many requests? Why exactly is it a problem?

<!-- gh-comment-id:64381437 --> @mthenw commented on GitHub (Nov 25, 2014): frontail uses socket.io underneath and, as you can see in your case, long polling is used. I'm not sure if it's wrong that there are so many requests? Why exactly is it a problem?
Author
Owner

@mkonecny commented on GitHub (Nov 25, 2014):

I was thinking it may be useful to have a max request rate of 1-2 requests per second - assuming that each request can get all recent log entries, the end result would be similar to the current implementation, and a bit less taxing on the browser + server.

<!-- gh-comment-id:64418247 --> @mkonecny commented on GitHub (Nov 25, 2014): I was thinking it may be useful to have a max request rate of 1-2 requests per second - assuming that each request can get all recent log entries, the end result would be similar to the current implementation, and a bit less taxing on the browser + server.
Author
Owner

@mkonecny commented on GitHub (Nov 25, 2014):

Seems like this issue is resolved when I enable websockets in my nginx proxy. Thanks for the help, and great project.

<!-- gh-comment-id:64422209 --> @mkonecny commented on GitHub (Nov 25, 2014): Seems like this issue is resolved when I enable websockets in my nginx proxy. Thanks for the help, and great project.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/frontail#22
No description provided.