(ليست المبادلة، ولكنها تقرأ من القرص)
هذا يتوافق مع ملاحظاتي السابقة:
لاحظ أن هذا هو حجم العلاقة والفهارس. قارن مع pg_relation_size.
هذا من ScoreCalculator، وهو جزء من PeriodicalUpdates.
هذا هو اكتشافك الذي يحتاج إلى حل. للمقارنة، هنا على meta تستغرق Jobs::EnsureDbConsistency أقل من دقيقتين وتستغرق Jobs::TopRefreshOlder أقل من 10 ثوانٍ:
يحتاج Postgres إلى مزيد من الذاكرة. امنحه أكبر قدر ممكن.
قد ترى أيضًا فائدة من VACUUM ANALYZE أو VACUUM ANALYZE FULL. القيام بالأول لا يضر أبدًا.
أود أن أقوم، بالترتيب:
vacuum analyze- إيقاف sidekiq مؤقتًا ثم
vacuum analyze full(هذا يجمد الجداول لإعادة كتابتها بالكامل، وقد يتسبب في بعض الإخفاقات أثناء تشغيله) - مزيد من الذاكرة لـ postgres

