Debugging a slow Squid?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Debugging a slow Squid?

Roeeklinger60
Hey everyone,

I have been having a slow response time on my Squid and I am trying to figure out why and debug, I am not sure if the server room router is slowing the response or if Squid is at fault.

I am aware of the <tr> in the Squid log, but does it show the time it took Squid to process the request or does it also include the time it took the request to even get to Squid (for example the time from the router to Squid, from the user to the router, etc)?

What would be the best way to isolate, inspect, and improve Squid performance, regardless of network performance?

Thanks.

_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users
Reply | Threaded
Open this post in threaded view
|

Re: Debugging a slow Squid?

Alex Rousskov
On 11/28/20 7:00 AM, roee klinger wrote:

> I am aware of the <tr> in the Squid log, but does it show the time it
> took Squid to process the request or does it also include the time it
> took the request to even get to Squid (for example the time from the
> router to Squid, from the user to the router, etc)?

Overall, do not expect Squid to measure what happens before the HTTP
request header is received. Squid could (and should and eventually will)
measure more than it does now when it comes to the beginning of the
transaction, but often there is just not enough information to measure
the client-Squid propagation/communication delay for the initial TCP
packet(s) or for the initial HTTP request packet on a previously used
persistent connection.

Specifically, %tr logformat code logs the difference between master
transaction start time and master transaction logging time.

* According to %tS documentation, Squid currently considers the master
transaction started when a complete HTTP request header initiating the
transaction is received from the client.

* Currently, Squid logs the master transaction when the client-Squid
transaction that was handling the client HTTP request gets destroyed.
Usually, that destruction happens when Squid receives the entire request
from the client and sends the entire response to that client.



> What would be the best way to isolate, inspect, and improve Squid
> performance, regardless of network performance?

One could write a book answering this question, but I would start by
running atop to exclude system bottlenecks (memory, CPU, disk) first.
Once system/global bottlenecks are eliminated, you may be able to detect
processing stages that slow down the transaction the most by sending
representative test requests.


HTH,

Alex.
_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users
Reply | Threaded
Open this post in threaded view
|

Re: Debugging a slow Squid?

Eliezer Croitoru-3
I must add that to verify any browsing speed issue there are couple very specific tests which should be tested:
- DNS response speed, response content ie A/AAAA/CNAME etc..
- Basic traceroute tests
- periodic Ping tests
- CPU load(top, htop, others..)
- curl/wget/other specific pages speed download tests
- Another http/socks proxy (tinyproxy/others, see the root folder of the onedrive shared link)
   https://onedrive.live.com/?authkey=%21AFs60Exv3C4B%2DNI&id=6AB28772521B8B88%214385&cid=6AB28772521B8B88

Depend on the up-stream line.
A microwave link can work well for 50-100 Meters however when rain drops pop here and there you would even see 3000ms plus++ delays.
There are ways to compensate on these but these are measurable enough so you would know about them.

I would start with:
How can I make Squid work almost with no DISK?
access_log none ? access_log stdio:/dev/null ?
cache deny all ?
cache_mem 0 MB ?

Adding a local dns cache might resolve many issues(bind, unbound, dnsmasq..)
Without writing a book.
What might cache_mgr interface has to say about this?

----
Eliezer Croitoru
Tech Support
Mobile: +972-5-28704261
Email: [hidden email]

-----Original Message-----
From: squid-users <[hidden email]> On Behalf Of Alex Rousskov
Sent: Saturday, November 28, 2020 6:24 PM
To: roee klinger <[hidden email]>; [hidden email]
Subject: Re: [squid-users] Debugging a slow Squid?

On 11/28/20 7:00 AM, roee klinger wrote:

> I am aware of the <tr> in the Squid log, but does it show the time it
> took Squid to process the request or does it also include the time it
> took the request to even get to Squid (for example the time from the
> router to Squid, from the user to the router, etc)?

Overall, do not expect Squid to measure what happens before the HTTP
request header is received. Squid could (and should and eventually will)
measure more than it does now when it comes to the beginning of the
transaction, but often there is just not enough information to measure
the client-Squid propagation/communication delay for the initial TCP
packet(s) or for the initial HTTP request packet on a previously used
persistent connection.

Specifically, %tr logformat code logs the difference between master
transaction start time and master transaction logging time.

* According to %tS documentation, Squid currently considers the master
transaction started when a complete HTTP request header initiating the
transaction is received from the client.

* Currently, Squid logs the master transaction when the client-Squid
transaction that was handling the client HTTP request gets destroyed.
Usually, that destruction happens when Squid receives the entire request
from the client and sends the entire response to that client.



> What would be the best way to isolate, inspect, and improve Squid
> performance, regardless of network performance?

One could write a book answering this question, but I would start by
running atop to exclude system bottlenecks (memory, CPU, disk) first.
Once system/global bottlenecks are eliminated, you may be able to detect
processing stages that slow down the transaction the most by sending
representative test requests.


HTH,

Alex.
_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users

_______________________________________________
squid-users mailing list
[hidden email]
http://lists.squid-cache.org/listinfo/squid-users