已采纳
回答正文
回复
讨论正文
该问题的正文、回答与讨论。
【背景】 我们是 40 个 Go gRPC 无状态服务,K8s 1.28 自建集群(阿里云 + 自建混合),Istio 1.21 全量 sidecar 注入(mTLS + 全链路遥测)。核心下单链路 SLO 是 P99 < 80ms,现在实测 P99 常年贴线 74–79ms,财务要预算、安全要 mTLS、我这边要延迟——三方吵架吵了三轮。 争议焦点不是「要不要网格」,而是:如果要摘掉某个服务的 sidecar 换成内嵌 SDK,到底能省回多少 P99?没有这个数字,任何架构决策都是拍脑袋。
【现象】 我上周用 k6 做了一组 A/B:同一套压测流量(固定 RPS 阶梯 200→2000),一组命名空间开 mesh 注入、一组打 sidecar.istio.io/inject=off,只压下单主链路(3 跳 gRPC 串联)。 结果:
【已尝试的排查】
【期望得到的答案形态】 不想要「sidecar 有开销,看你们情况」这种结论,想要:
taskset + isolcpus 做隔离基线?kprobe 打 Envoy 不现实,想听数据面内核侧的打法)带真实数据(哪怕一个服务的)的都欢迎,最好附命令 / 配置片段,方便我直接复现。