<!DOCTYPE html>
<html data-lt-installed="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="padding-bottom: 1px;">
<p>Ok, so in this case you recommended both enable
client_persistent_connections and server_persistent_connections to
gain more performance in tems of CPU and Networking, correct?</p>
<p>Thanks in advance for your help.<br>
Best regards<br>
</p>
<div class="moz-cite-prefix">On 16/05/2024 20:53, Amos Jeffries
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:547dfffa-23bd-4f29-a595-446bbdfb711f@treenet.co.nz">On
17/05/24 02:23, Bolinhas André wrote:
<br>
<blockquote type="cite">Hi Alex
<br>
Has I explain, by default I set those directives to off to avoid
high cpu consumption.
<br>
</blockquote>
<br>
<br>
Ah, actually with NTLM auth you are using *more* CPU per
transaction with those turned off.
<br>
<br>
The thing is that auth takes a relatively long time to happen, so
the transactions are slower. Hiding the fact that they are, in
total, using more CPU and TCP networking resources.
<br>
<br>
<br>
<br>
<blockquote type="cite">My doubt is enabling persistent connection
will help squid to process the request more efficiently and gain
more performance or not.
<br>
<br>
</blockquote>
<br>
With persistent connections disabled, every client request must:
<br>
<br>
1) wait for a TCP socket to become free for use
<br>
2) perform a full SYN / SYN+ACK exchange to open it for use
<br>
3) perform a NTLM challenge-response over HTTP
<br>
4) wait for a second TCP socket to become free for use
<br>
5) perform a full SYN / SYN+ACK exchange to open it for use
<br>
6) perform the actual HTTP NTLM authenticated transaction.
<br>
<br>
Then
<br>
7) locate a server that can be used
<br>
8) wait for a TCP socket to become free for use
<br>
9) perform a full SYN / SYN+ACK exchange to open it for use
<br>
10) send the request on to the found server
<br>
<br>
<br>
That is a LOT of time, CPU, and networking.
<br>
<br>
<br>
With persistent connections enabled, only the first request looks
like above. The second, third etc look like below:
<br>
<br>
<br>
11) perform the HTTP NTLM authenticated transaction.
<br>
<br>
Then
<br>
12) locate a server that can be used
<br>
13) send the request on to the found server
<br>
<br>
<br>
14) perform the HTTP NTLM authenticated transaction.
<br>
<br>
Then
<br>
15) locate a server that can be used
<br>
16) send the request on to the found server
<br>
<br>
<br>
That is MUCH better for performance.
<br>
<br>
<br>
HTH
<br>
Amos
<br>
_______________________________________________
<br>
squid-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.squid-cache.org/listinfo/squid-users">https://lists.squid-cache.org/listinfo/squid-users</a>
<br>
</blockquote>
</body>
<lt-container></lt-container>
</html>