การเชื่อมต่อที่ไม่ได้ใช้งานมากเกินไปอาจส่งผลต่อประสิทธิภาพของ PostgreSQL 9.2 ได้หรือไม่


8

บางคำสั่งบนเซิร์ฟเวอร์ฐานข้อมูลของฉันดูเหมือนจะใช้เวลานานในการตอบสนองและฉันเชื่อว่าการใช้งาน CPU สูง เมื่อทำงานps auxฉันเห็นการเชื่อมต่อ ~ 250 "ไม่ได้ใช้งาน" (ซึ่งฉันเชื่อว่ามีมากเกินไป) ฉันยังไม่ได้เริ่มทำการวินิจฉัยอย่างเต็มรูปแบบ แต่ฉันอยากรู้ว่านี่เป็นจุดเริ่มต้นที่ดีหรือไม่

ฉันกำลังใช้ PgBouncer กับการรวมธุรกรรมระดับเดียวกัน ฉันสงสัยว่าฉันสามารถลดจำนวนการidleเชื่อมต่อได้อย่างง่ายดายด้วยการปรับขนาดพูล อย่างไรก็ตามฉันไม่ต้องการเริ่มทำการเปลี่ยนแปลงมากเกินไปเว้นแต่จะมีเหตุผลที่ดีที่จะทำ

การidleเชื่อมต่อจำนวนมากใน PostgreSQL 9.2 มีผลต่อประสิทธิภาพหรือไม่

ขอบคุณมาก ๆ!


"การเชื่อมต่อที่ไม่ได้ใช้งานมากเกินไป" หมายความว่าอะไร หลายสิบ? หลายร้อย?
jap1968

คำถามที่แก้ไข ขอบคุณที่ชี้นำสิ่งนี้ เพื่อให้ชัดเจนการนับครั้งสุดท้ายคือ ~ 250
Juan Carlos Coto

อาจจะ? ฉันรู้ว่า Oracle DBA ที่นี่ขอให้ผู้ใช้ตั้งค่าเครื่องมือ dev ของพวกเขาเพื่อใช้เซสชันเดียวสำหรับ windows ทั้งหมด (แทนที่จะเป็นเซสชันใหม่สำหรับทุกหน้าต่าง) เมื่อฐานข้อมูลการพัฒนาเริ่มทำงานช้ามาก จำนวนที่แน่นอนที่นับว่า "มากเกินไป" อาจขึ้นอยู่กับทรัพยากรที่มีอยู่ในฐานข้อมูลของคุณ
FrustratedWithFormsDesigner

คำตอบ:


3

ฉันสงสัยอย่างจริงจังว่าการเชื่อมต่อที่ไม่ได้ใช้งานเป็นปัญหาของคุณ PostgreSQL นั้นมีความสามารถในการจัดการเซสชันที่ไม่ได้ทำงานเนื่องจากไม่มีทรัพยากร เซสชันที่ใช้งานอยู่ในทางกลับกันมีแนวโน้มมากขึ้นสาเหตุของความช้า

ดูhttps://wiki.postgresql.org/wiki/Number_Of_Database_Connectionsสำหรับการอ้างอิงเกี่ยวกับจำนวนการเชื่อมต่อฐานข้อมูล


ช่วงที่ไม่ได้ทำงานกับการทำธุรกรรมที่ไม่มีข้อผูกมัดมักเป็นผู้ร้ายตัวร้าย!
Philᵀᴹ

ฉันเห็นด้วย Phil แม้ว่าจริงๆแล้วมันไม่ได้เกี่ยวกับ PostgreSQL - มันเป็นเรื่องเกี่ยวกับวิธีการเขียนของลูกค้าปลายทาง (เว้นแต่ฉันจะหายไปบางสิ่งบางอย่าง)
Max Vernon

โปรดดูคำถามที่เกี่ยวข้องเกี่ยวกับเรื่องนี้ มันจะช่วยได้จริง ๆ ถ้าคุณแหลมลงบนมัน ขอบคุณ!
Juan Carlos Coto

อันที่จริงการเชื่อมต่อที่ไม่ได้ใช้งานทำมีจำนวนมาก (หน่วยความจำ) ค่าใช้จ่ายและพวกเขาควรหลีกเลี่ยง (ฉันคิดว่ามันจัดสรรรอบ 10MB ต่อการเชื่อมต่อดังนั้นในกรณีของคุณคุณจะได้รับการสูญเสียอย่างน้อย 2.5 GB หน่วยความจำ)
Kedare

1
@MaxVernon - ในเซิร์ฟเวอร์ postgresql 9.5 ที่ทำงานอยู่ของฉันฉันมี 25 กระบวนการที่ไม่ทำงานสำหรับคอลัมน์ RES, ea กระบวนการโดยเฉลี่ยประมาณ 12MB (ช่วง: 4.5MB - 584MB ฉันสงสัยว่าตัวที่ใหญ่กว่ามี tx ที่ไม่ธรรมดา)
cerd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.