我孤身走在路上, 石子在雾中发亮,夜很安静,荒原面对太空,星星互诉衷肠
打造专属于代理的debian
打造专属于代理的debian

打造专属于代理的debian

如果你们的使用环境也是有内外网的分离,那么代理是一个很好的选项,现在就http代理来说,squid还是比较轻量的。 适合大部分人使用。

Squid 代理最吃哪类硬件

A. 最关键:网络与网卡

  • **吞吐 & PPS(每秒包数)**决定体验:大量 HTTPS CONNECT 会让“连接建立/维持”成为主角。
  • 建议:
    • 1GbE 足够(60 台终端一般没问题),如果你们有集中更新/大文件下载/大量并发,直接上 10GbE 更稳
    • VM 里网卡尽量用 virtio-net(KVM)或等价高性能虚拟网卡;避免 e1000 这种老网卡模拟。

B. 第二关键:CPU(但不需要很大)

  • 如果没做 SSL 解密(SSL Bump),CPU主要消耗在:
    • 连接管理、ACL 匹配、DNS、少量 I/O
  • 建议:
    • 2 vCPU 起步(稳妥),业务波动/并发高就 4 vCPU
    • CPU 主频比核心数更重要一点(连接密集型偏单核/少核效率)。

C. 内存:够用就行(别太小)

  • 不做缓存时,内存主要给:
    • 热对象、连接/FD、DNS cache、Squid 内部结构
  • 建议:
    • 2GB 起步;想更稳就 4GB
    • 如果几乎不缓存,给到 8GB 往往用不满(除非你后面加缓存或做 SSL Bump)。

D. 磁盘:如果你“去日志+不缓存”,磁盘几乎不重要

  • 你现在写入比较明显的其实是 access.log(以及 cache.log)。
  • 如果你决定“去除日志,只保留核心功能”,那磁盘压力会大幅下降。
  • 建议:
    • 系统盘 20–40GB 就够。
    • 仍建议用 SSD(VM 存储层面更稳),但不是性能瓶颈点。

E. 典型推荐配置

  • 2 vCPU / 4GB RAM / 20–40GB 磁盘 / 1GbE:对 60 台终端的“白名单代理转发”通常很稳。
  • 如果你预计并发会更高(比如统一更新、爬虫、CI 拉依赖、多人同时下载):
    • 4 vCPU / 8GB RAM / 1–10GbE(更抗峰值)。



Debian 13 上的系统级优化(重点:连接数、FD、网络栈)

提升文件句柄和连接上限(这步很关键)

systemd 给 squid 提升 LimitNOFILE

创建目录并写 override:

sudo systemctl edit squid

追加

[Service]
LimitNOFILE=1048576

然后刷新配置

sudo systemctl daemon-reload
sudo systemctl restart squid

内核级 file-max

写入 /etc/sysctl.d/99-squid.conf:

fs.file-max = 1048576

使其生效


sudo sysctl –system



网络栈调优(偏“连接密集型代理”)

同样放到 /etc/sysctl.d/99-squid.conf ,没有的就覆盖,有的就追加,也可以直接追加

# 队列与并发
net.core.somaxconn = 4096
net.core.netdev_max_backlog = 16384

# Socket 缓冲(不夸张即可)
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 端口范围(避免高并发时临时端口紧张)
net.ipv4.ip_local_port_range = 10240 65535

# 连接回收/保活(适度即可,别太激进)
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5

生效:

sudo sysctl --system

squid的配置你们就自己配吧

检查语法

sudo squid -k parse

没问题就

sudo systemctl enable --now squid

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

7 + 1 =