ฉันกำลังแทรก SQL จำนวนมากและปัจจัยที่จำกัดดูเหมือนจะเป็น CPU ที่กำหนดให้กับ postgres ส่วนแทรกเหล่านี้ส่วนใหญ่จะอยู่ในตารางเดียวกันฉันสับสนเล็กน้อยเนื่องจากฉันใช้ docker-compose โดยไม่จำกัดทรัพยากร คอนเทนเนอร์ควรใช้ 16 คอร์ที่มีอยู่ทั้งหมด
ภายในคอนเทนเนอร์
:/# nproc
16
:/# postgres --version
postgres (PostgreSQL) 13.4 (เดเบียน 13.4-1.pgdg100+1)
นี่คือการกำหนดค่า postgres ของฉัน
#สิ่งเริ่มต้น
ฟัง_ที่อยู่ = '*'
# เวอร์ชันฐานข้อมูล: 13
# ประเภทระบบปฏิบัติการ: ลินุกซ์
# ประเภทฐานข้อมูล: oltp
# หน่วยความจำรวม (RAM): 32 GB
# CPU จำนวน: 12
# จำนวนการเชื่อมต่อ: 50
# การจัดเก็บข้อมูล: ssd
max_connections = 50
shared_buffers = 8GB
Effective_cache_size = 24GB
maintenance_work_mem = 2GB
Checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
Random_page_cost = 1.1
ประสิทธิภาพ_io_พร้อมกัน = 200
work_mem = 41943kB
min_wal_size = 2GB
max_wal_size = 8GB
max_worker_processes = 12
max_parallel_workers_per_gather = 4
max_parallel_workers = 12
max_parallel_maintenance_workers = 4