PLB:资源受限下复制数据库的优先级感知负载均衡
PLB: Priority-Aware Load Balancing for Replicated Databases under Constrained Resources
浏览论文内容
中文总结 AI 辅助
针对资源受限的复制数据库,提出作为JDBC驱动实现的优先级感知负载均衡器PLB,通过副本分配实施优先级差异化,在OLAP工作负载下较基准方案显著优化高优先级性能并控制低优先级开销。
中文摘要 AI 辅助
优先级差异化服务是应用提供不同性能等级的标准方式,但数据库系统仍常将所有会话同等对待。当数据库容量固定(无法按需添加副本)且工作负载出现争用时,会在资源过度配置与低优先级用户遭遇大幅减速间产生两难权衡。针对该场景,本文提出通过控制客户端会话分配至数据库副本的方式来实施优先级策略,给出PLB——一款作为JDBC驱动实现的优先级感知负载均衡器,其在固定资源下通过副本分配实施优先级差异化:按用户组(高级用户与免费增值用户)划分副本,并采用基于负载的借用机制,使高优先级用户可在有空闲容量时使用,同时控制低优先级用户的性能下降。我们在OLAP工作负载下的复制只读集群上评估PLB,与静态的按优先级专属划分相比,PLB在固定划分会将集群整体CPU利用率降至约35%的场景中,可保持利用率高于约70%,同时维持接近最佳专属分配的延迟;与完全共享的轮询池相比,PLB平均将高优先级中位数延迟降低约12%,最高提升28%,同时将低优先级中位数开销控制在约11%,整体中位数延迟接近轮询池。
英文摘要
Priority-differentiated services are a standard way for applications to offer different levels of performance, but database systems still often treat all sessions the same way. When database capacity is fixed, meaning replicas cannot be added on demand, and the workload becomes contended, this creates a difficult trade-off between over-provisioning resources and letting lower-priority users experience much larger slowdowns. In such settings, we propose enforcing priority by controlling how client sessions are assigned to database replicas. We present PLB, a priority-aware load balancer implemented as a JDBC driver that enforces priority differentiation through replica assignment under fixed resources. PLB partitions replicas by user group, premium versus freemium, and uses load-based borrowing so that higher-priority users can use idle capacity when available, while degradation for lower-priority users remains controlled. We evaluate PLB on a replicated read-only cluster under OLAP workloads. Compared with static dedicated per-priority partitions, PLB keeps utilization above about 70% in settings where fixed partitions can reduce cluster-wide CPU utilization to about 35%, while maintaining latencies close to those of the best dedicated allocation. Compared with a fully shared round-robin pool, PLB lowers high-priority median latency by about 12% on average, with improvements of up to 28%, while keeping the low-priority median overhead around 11% and overall median latency close to round-robin.