💡
原文英文,约2200词,阅读约需8分钟。
📝
内容提要
多租户/共托是挑战性任务,运行多个PG实例可减少PostgreSQL内部争用点。Linux的cgroups可控制资源消耗,cgroup2是cgroup版本一的替代品。创建单独的slice用于PostgreSQL实例可更好地控制资源消耗。控制组是限制机器资源消耗的有效方法,cgroup2使其更简单易用。
🎯
关键要点
- 多租户/共托是一个具有挑战性的任务,运行多个PG实例可以减少PostgreSQL内部争用点。
- Linux的cgroups(控制组)可以控制每个程序的资源消耗,cgroup2是cgroup版本一的替代品。
- cgroup2简化了资源控制,适用于Linux内核版本5.2.0或更高版本。
- 检查Linux使用的cgroup版本可以通过查看挂载数量来判断。
- 创建单独的slice用于PostgreSQL实例可以更好地控制资源消耗。
- 可以通过systemctl命令创建和管理PostgreSQL的slice。
- 在PostgreSQL服务中使用slice可以限制CPU和内存的使用。
- cgroup2允许在服务级别直接设置资源控制配置。
- 控制组被广泛应用于Docker和Kubernetes等程序中,是限制资源消耗的有效方法。
- 通过控制资源使用,可以改善多租户环境,防止“吵闹邻居”效应。
- 良好的资源控制可以防止系统过载导致的服务中断和不必要的故障转移。
➡️