postgres vacuum


11日未明に運用を外部に委託しているサーバーでapacheが仕事をしなくなる現象が発生。

原因を調べてもらったところ、該当時間にanalyzeとvacuumを走らせているんでその間のrequestが詰まったんだろうとのこと。



apache(厳密に言えばphp)からDBへのrequestをサバけないというのは不思議な気がするが、最近analyzeとvacuumで30分以上かかっているらしいのでまぁあるかも知れない。



他社製品ゆえDB構造等内部仕様が開示されてないため、さらに今デカいtableってどんなのがあるのか報告してもらったら、click count処理用等システム制御系tableで行数400万件/111万件/45万件とかの物がゴロゴロしているとのこと。



対策として現行のv7.4.6をv8.1.6にupgradeすればvacuumの負荷を平準化できるとのことで試す価値はあるが、検証が甘くなりそうでできればやりたくない。。



こういう規模になるとやっぱMySQLの方が?などとツッコミ。