接続プールとロードバランシングを実行しているがクエリキャッシュを実行していない専用PGPoolマシンには、どのくらいの物理メモリが推奨されますか?
_SHOW pool_pools
_にnum_init_children(96) * max_pool(2) * number_of_backends(2) = 384
行があります。モーダル平均はPIDあたり約99Mで、2Gの外れ値がいくつかあるようです。
_# top for 20 pgpool processes
$ top -p $(pgrep pgpool | head -20 | tr "\\n" "," | sed 's/,$//')
Tasks: 20 total, 0 running, 20 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.1 us, 4.0 sy, 0.0 ni, 92.2 id, 0.0 wa, 0.0 hi, 0.7 si, 0.0 st
KiB Mem : 1784080 total, 22068 free, 1629960 used, 132052 buff/cache
KiB Swap: 4194300 total, 437328 free, 3756972 used. 71276 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15407 root 20 0 97828 872 708 S 0.3 0.0 5:52.95 pgpool
8076 root 20 0 101664 2800 1708 S 0.0 0.2 0:06.51 pgpool
9597 root 20 0 101656 4508 1264 S 0.0 0.3 0:18.85 pgpool
13603 root 20 0 149936 35548 984 S 0.0 2.0 1:13.56 pgpool
13634 root 20 0 151848 39364 984 S 0.0 2.2 1:00.25 pgpool
13677 root 20 0 149424 37812 1180 S 0.0 2.1 0:28.03 pgpool
13680 root 20 0 153416 34948 1180 S 0.0 2.0 0:32.97 pgpool
15397 root 20 0 97820 828 668 S 0.0 0.0 0:33.05 pgpool
15399 root 20 0 97884 240 132 S 0.0 0.0 1:41.48 pgpool
15402 root 20 0 93636 72 0 S 0.0 0.0 0:07.12 pgpool
15405 root 20 0 93636 280 172 S 0.0 0.0 0:42.39 pgpool
17121 root 20 0 101676 2016 1648 S 0.0 0.1 0:03.39 pgpool
17206 root 20 0 97824 72 0 S 0.0 0.0 0:00.00 pgpool
17207 root 20 0 97820 164 56 S 0.0 0.0 0:00.27 pgpool
21348 root 20 0 3871428 1.090g 1536 S 0.0 64.1 429:48.53 pgpool
21917 root 20 0 102672 2832 1696 S 0.0 0.2 0:49.46 pgpool
22117 root 20 0 101692 2868 1752 S 0.0 0.2 0:16.57 pgpool
22436 root 20 0 101692 4644 3464 S 0.0 0.3 0:31.12 pgpool
23037 root 20 0 101692 3776 1780 S 0.0 0.2 0:20.52 pgpool
23142 root 20 0 101664 980 936 S 0.0 0.1 0:08.60 pgpool
_
これは公式ドキュメントには記載されていませんが(現在-2018年2月現在)、PgPoolのメモリフットプリントはかなり重いです。
最近のテストでは、PgPool IIバージョン3.6には140 MBも必要ですRAM子プロセスごとに。子プロセスの数はnum_init_children
)。これはプライベートプロセスメモリ-共有されません。
これは、50クライアントごとに約8GBを意味します。
PostgreSQLと比較すると、これは5〜10倍になります(PostgreSQLは8 GB RAMで250セッションを簡単に処理できます)。さらに、PostgreSQLは、はるかに費用対効果の高い共有バッファキャッシュを使用しています。