读懂代理的连接数
把套接字、请求和目的地计数各用在该用的地方,而不是把每条连接当成一个浏览器标签页。
三十条已建立的连接并不意味着三十个网站或三十个浏览器标签页。
一个页面可能使用多个源和连接。空闲连接可以保留下来重复使用。HTTP/2 可以在一条连接上承载并发交换;在 CONNECT 隧道内部,不进行拦截的代理看到的是隧道,而不是那些内部请求的准确数量。
| 需要限制什么? | 度量 |
|---|---|
| 打开文件的压力 | 连接与描述符 |
| 传输速度 | 单位时间内的字节 |
| 目的地访问 | 可见且获授权的目标 |
| 浏览器标签页 | 浏览器层面的状态 |
客户端与服务端的套接字也是不同的计数。缓存命中、连接复用和上级代理会改变两者的关系。
Squid 的 maxconn ACL 在采用受支持的同时连接策略时能起作用。它并不统计网站数量,而基于来源的记账可能把同一个 NAT 后的多个人归到一起。
当连接限制的目标是保护连接容量时,它依然有用。把报表标成“并发客户端连接”,并围绕该资源来设定上限,而不是把它当作精确的浏览配额来卖。