我遇到了服务器中 NVMe SSD 条带性能异常低下的情况。硬件如下:
lspci -nvv显示了设备的 8GT/s x4 链路,显示它在 PCIe 3.0 上运行,就像驱动器想要的那样: LnkSta: Speed 8GT/s, Width x4。该驱动器的基准测试表明它能够以 1.4GB/s 左右的写入速度运行。
当我尝试对驱动器进行顺序写入时,我获得了大约三分之一的性能。下面显示了写入期间的 619MB/s,然后又暂停了 50 秒,大概是在数据完全刷新到磁盘时。
$ sudo dd if=/dev/zero of=/dev/nvme1n1 bs=16M count=1k status=progress
16726884352 bytes (17 GB, 16 GiB) copied, 27 s, 619 MB/s
1024+0 records in
1024+0 records out
17179869184 bytes (17 GB, 16 GiB) copied, 71.8953 s, 239 MB/s
Run Code Online (Sandbox Code Playgroud)
假设这只是我的综合基准与其他人的综合基准相比的一些怪癖,我将所有 4 个设备放入 MD RAID-0 中并再次尝试:
$ …Run Code Online (Sandbox Code Playgroud) 我有一个 Squid 服务器在做 Squid-ly 的事情。我需要根据匹配 ACL 的特定标头让 Squid 回复。
标题是一个自定义的,看起来像
X-External-IP: 123.45.67.8
Run Code Online (Sandbox Code Playgroud)
我已经知道 tcp_outbound_ip,我正在使用类似的方法来嗅探请求标头以正确路由给定的 IP 地址,但如果可能的话,我还需要添加此回复。通过谷歌搜索给了我如何阻止请求头通过的结果——这不是我想要做的。
工作中的 Squid 服务器用于通过多个外部 IP 地址路由请求。我正在使用解决方案在我自己的 Unix.SE 问题上进行命名 IP 路由。如果未设置自定义标题,我现在需要添加的另一个难题是随机选择。
我知道有一个“随机”指令可以根据概率设置 ACL,但在线示例充其量只是粗略的。
我需要一种方法将我的所有流量随机分配到 20 个 IP 地址,除非设置了特定的标头,此时标头(又名 ACL)应该优先并强制出站 IP 地址。如何在鱿鱼中使用 ACL 执行此操作?