这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
查询并发控制与资源隔离
系统讲解 ClickHouse 的工作负载调度与资源隔离:max_concurrent_queries 并发上限、Quotas 配额限流、Settings Profiles 差异化配置、查询优先级与 Workload 分类、内存/CPU/IO 隔离手段、多租户方案,以及防止单条大查询拖垮集群的落地实践与常见陷阱。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
系统讲解 ClickHouse 的工作负载调度与资源隔离:max_concurrent_queries 并发上限、Quotas 配额限流、Settings Profiles 差异化配置、查询优先级与 Workload 分类、内存/CPU/IO 隔离手段、多租户方案,以及防止单条大查询拖垮集群的落地实践与常见陷阱。
深入 ClickHouse 的数据变更语义:Mutation 的重量级实现与异步执行、Lightweight DELETE/UPDATE 的 _row_exists 掩码机制、删除标记的可见性与合并时机、幂等与并发语义、ReplacingMergeTree 去重替代方案,以及在高频更新场景下的选型与落地建议。
系统讲解 ClickHouse 查询剖析与链路追踪:system.query_log 关键列解读、ProfileEvents 计数、Query Profiler 采样与火焰图、trace_log 开启与表结构、trace_id/span_id 端到端串联、与 OpenTelemetry/Jaeger 集成、内存与执行细节下钻,以及一套可复用的慢查询定位流程。
深入 ClickHouse Projections:与物化视图的本质差异、ALTER TABLE ADD PROJECTION 语法、normal/aggregate 变体的存储结构、后台物化与合并机制、优化器如何自动选择投影、query_plan 验证与强制使用、预聚合收益评估、存储与写入放大代价,以及生产落地中的常见陷阱。
RAG 的端到端延迟由「检索 → 重排 → 上下文构造 → 生成」四段串联,任何一段慢都会拖垮整体。很多人只优化生成,却忽略检索与重排才是长尾的主要来源。本文拆解 RAG 链路的延迟分解,给出检索/重排/生成各段的优化手段、跨段流水线并行、缓存分层设计与端到端评测方法,把 RAG 从「能跑」优化到「快且稳」。
推理服务的扩缩容比普通 Web 服务难得多:GPU 昂贵、模型加载慢、并发数比 QPS 更能反映压力。用 CPU 利用率做 HPA 指标,往往扩不起来或扩过头。本文讲清推理扩缩容的指标选择(队列深度/KV cache/GPU 利用率)、KEDA 与 HPA 实践、冷启动瓶颈与优化、缩容到零与预热池设计,以及多级伸缩架构。
RAG 的检索质量与延迟,一半取决于 Embedding 与 Reranker 的服务效率。这两类模型和生成模型截然不同:Embedding 是编码器(高吞吐、批处理友好),Reranker 是交叉编码器(算力密集、批内耦合)。本文拆解它们的服务特征、批处理与量化优化、GPU/CPU 选型、部署架构与评估指标,给出可落地的调优路径。
当业务同时接 GPT、Claude、开源模型与自托管推理,直连每个后端会让限流、鉴权、成本核算散落各处。LLM 网关把「多模型调用」收敛成统一入口:协议适配、策略路由、限流配额、故障转移、可观测性一站式解决。本文讲清网关的职责边界、四类路由策略、统一 API 设计、成本与配额治理,以及高可用与灰度实践。
让 LLM 稳定输出合法 JSON,靠提示词祈祷是不够的。受限解码(Constrained Decoding)把 JSON Schema 编译成有限状态机,在每个解码步屏蔽掉不合法的 token,从生成源头保证输出合法。本文讲清 FSM/Token Mask 原理、JSON Schema 到语法的编译流程、Outlines/XGrammar/GBNF 三条实现路径的对比、性能开销与工程陷阱。
GPU 跑不满、Kernel 慢却不知卡在哪,是推理优化的日常困境。本文拆解 NVIDIA 剖析双工具的分工:Nsight Systems 看时间线(谁在等谁、Kernel 间空隙、数据传输与同步),Nsight Compute 看单个 Kernel 内部(占用率、访存、算力与带宽利用率)。给出采集命令、关键指标解读、典型瓶颈模式与从剖析到优化的闭环流程。
把视图不能直接访问数据层、领域不能反向依赖视图、模块之间不能有循环依赖写成可执行架构规则,给出 TypeScript 检查器、带原因的例外机制与失败样例报告,并用本机 Node 26 真实测试输出证明三条规则都能拦住真实违规,最后说明如何接进本地检查与 CI 门禁。
系统讲解国际化与本地化测试的工程化实践:硬编码文案检测与占位符一致性校验、缺失与多余翻译的自动化扫描、CLDR 复数规则与性别/语序差异、RTL 镜像与文本膨胀导致的布局溢出、时区与日期/数字/货币格式断言、伪本地化(pseudo-localization)与 CI 集成。
系统讲解智能合约测试的工程化实践:Foundry forge test 与 Hardhat 的单元/集成测试、cheatcodes 与断言技巧、Fork 主网测试复现真实依赖、模糊测试(fuzzing)与不变量测试(invariant testing)、Gas 快照与回归门禁、重放攻击防护验证、以及代理升级模式下的存储布局兼容性检查。
系统讲解并发竞态测试的工程化实践:数据竞争与原子性违反、顺序违反三类并发缺陷的识别、Go race detector 与 ThreadSanitizer 的检测原理与局限、确定性复现与调度扰动注入、Loom/Coyote 等模型检查工具、压力测试与随机 sleep 注入、死锁与活锁检测,以及 CI 中的稳定性与种子复现治理。
系统讲解实时通信与 WebSocket 测试的工程化实践:连接生命周期(握手升级、鉴权、心跳保活、优雅关闭)验证、消息顺序与乱序/重复/丢失的至少一次语义、背压与缓冲控制、断线重连的退避与状态恢复、重连风暴防护、连接数与广播的并发压测、mock WebSocket 服务端与录制回放,以及 CI 中的稳定性治理。
系统讲解 gRPC 服务测试的工程化实践:proto 作为第一类契约与 buf lint/breaking 门禁、生成代码一致性校验、拦截器(Interceptor)单元测试、bufconn 内存传输与真实 stub 集成、四种流式调用的测试手法、deadline 传播与重试策略验证、状态码与 metadata 断言,以及与 grpc-gateway HTTP 网关的边界测试。
系统讲解 GraphQL 接口测试的工程化实践:Schema 作为第一类契约与 breaking change 检测、查询与变更用例矩阵设计、errors 数组与部分成功语义、Mock Resolver 与数据源替身、DataLoader 与 N+1 问题验证、查询深度与复杂度限制、契约与响应快照、以及 CI 中的门禁与常见陷阱。
Scala CLI 把「单文件脚本、依赖声明、编译运行打包」压进一条命令,用指令注释替代构建文件,让脚本、原型与小型工具不再需要完整的项目结构与繁琐的构建配置。本文讲清指令声明与依赖解析机制、与 sbt 的职责边界、测试与多文件项目的目录布局、打包与发布方式,以及持续集成与工具链迁移的实际路径、常见坑与规避手段。
事件溯源把系统状态定义为事件序列的折叠结果:写模型只追加不可变事件,读模型由投影派生,命令查询职责分离因此成为它的自然搭档。本文讲清持久化 actor 的命令与事件处理模型、日志与快照如何协作、投影与读模型的构建方式、事件版本演进与兼容策略,并给出恢复性能调优与日常运维的实践要点。
JSON 编解码是服务边界上最频繁的一次数据转换,它的性能与健壮性直接决定接口的吞吐和容错能力。circe 用代数数据类型把解析、派生与错误路径都建模成纯函数,jsoniter-scala 则用编译期宏生成无反射的编解码器换取吞吐。本文对比两者的模型与代价,给出派生与自定义的写法、性能实测方法,以及版本演进与向后兼容的实践路径。