
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在 Linux 操作系统的高性能网络协议栈调优中,是决定系统在复杂网络拓扑下数据传输吞吐量(Throughput)与端到端排队延迟(Queueing Delay)的核心灵魂。长久以来,Linux 官方内核将作为默认的拥塞控制算法。Cubic 属于典型的的控制模型;而在 2016 年,Google 提出了颠覆性的算法,开创了的全新调控体系。在很多技术论坛和博客中,经常能看到“BBR 在任何场景下都能

在进行大模型推理引擎或 CUDA Kernel 的微基准测试(Micro-benchmarking)时,很多性能工程师都经历过一种令人抓狂的困境:在代码和输入完全没有任何变动的情况下,性能测试指标居然出现了高达 15%~25% 的剧烈波动。很多团队误以为这是操作系统调度抖动或 Python GC 导致的随机误差,甚至在错误的基准数据上得出了南辕北辙的算法优化结论。实际上,导致基准测试无法精确复现的

在万兆网卡(10GbE)和高并发 RPC 场景下,运维团队经常遭遇一个幽灵般的故障:系统 CPU 整体利用率不足 30%,但上游微服务却频繁遭遇 500ms 以上的 TCP 请求超时。登录跳板机敲下top -hp 1查看 CPU 分布,眼前的景象非常典型:CPU0 的si(softirq) 这一项直接锁定在 100%,而 CPU1 到 CPU31 却闲得发慌。再翻看文件的输出,发现第一列(处理的数

somaxconn。

http.Client 必须复用:全局单例,连接池参数按场景精调resp.Body 必须读完:用排干剩余数据context 必须带超时:没有超时的 goroutine 就是定时炸弹优化后的效果:P99 延迟从 8200ms 回到 500ms,内存从 2.1GB 稳定在 220MB。数据不骗人。先看数据,再讲故事。

上周二凌晨 2:37,告警群突然炸了——线上知识库检索服务的 P99 延迟从 12ms 飙到了 780ms,持续了大约 6 秒后自动恢复。查看监控大盘,CPU 和内存都没有明显尖刺,但 GC 暂停时间(GCPause)曲线出现了一个陡峭的尖峰:单次 STW 停顿达到了 1.8s。经过几轮排查,根因指向了一个看似人畜无害的切片操作——某个定时任务每次加载 500MB 的 Embedding 向量到内

上个月在做特征工程平台的向量化改造时,遇到一个很有意思的选择题:一批用户画像 Embedding 数据(约 500 万条,每条 128 维 float32),应该用数组还是[]float32切片存储?团队内部分成了两派——「数组派」认为数组在栈上分配,性能更好;「切片派」认为切片灵活,且 Go 的 runtime 对切片做了优化。为了终结争论,我写了一个完整的 Benchmark,用数据说话。结果

不久前团队遇到一个诡异的问题:一个数据处理服务每天凌晨 3:00 准时出现一次 CPU 尖刺和延迟抖动,持续大约 3-5 秒后自动恢复。监控显示 GC Pause 曲线有规律性的尖峰,每次持续 2-3 秒。经过两周的排查,最终定位到是一个定时触发的数据加载任务——从 S3 下载约 800MB 的 Parquet 文件,解析后以的形式加载到内存中做特征工程。这个看似常规的操作,因为的嵌套结构,导致了

显存池化:预分配大块显存,减少动态分配块管理:使用伙伴系统或链表管理空闲块分层缓存:冷热数据分离,提高显存利用率从 OOM 率 2.3% 到 0%,服务稳定性提升到 99.99%。显存管理是大模型推理的核心挑战,值得深入研究。

并发控制:使用限流器控制最大并发数队列缓冲:请求队列平滑流量峰值优先级调度:保证重要请求优先处理从 300 QPS 到 1200 QPS,4 倍吞吐提升。流式服务的并发控制是个精细活,需要在吞吐量和稳定性之间找到平衡点。








