PostgreSQL-ийн хурдыг нэмэгдүүлэх 7 практик зөвлөгөө

0
удаа үзсэн
Харанхуй дэлгэц дээрх програмын код

Системийн ихэнх удаашрал өгөгдлийн сангаас эхэлдэг. Сервер нэмж худалдаж авахаас өмнө асуулга, индекс, тохиргоогоо эргэж хараарай. Бид олон жилийн турш харилцагчдынхаа PostgreSQL серверүүдийг тохируулж ирсэн туршлагаасаа хамгийн их үр дүн өгдөг долоон зөвлөгөөг түүвэрлэлээ.

1. Удаан асуулгаа эхлээд ол

pg_stat_statements өргөтгөлийг асаагаад нийт хугацааг хамгийн их зарцуулж буй асуулгуудыг харна. Ихэнхдээ хоёр гурван асуулга нийт ачааллын талаас илүүг эзэлдэг.

SELECT round(total_exec_time::numeric, 0) AS нийт_мс,
calls AS дуудсан,
round(mean_exec_time::numeric, 1) AS дундаж_мс,
left(query, 80) AS асуулга
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;

2. Индексээ асуулгандаа тааруул

Индекс бүр бичих үйлдлийг удаашруулдаг тул «бүх баганад индекс» гэсэн хандлага буруу. WHERE болон ORDER BY-д хамт ордог баганууддаа нийлмэл индекс үүсгэ. Ажиллаж буй системд индексийг хүснэгт түгжихгүйгээр үүсгээрэй:

CREATE INDEX CONCURRENTLY idx_orders_customer_date
ON orders (customer_id, created_at DESC);

3. EXPLAIN ANALYZE-г уншиж сур

Төлөвлөгөөнд Seq Scan том хүснэгт дээр гарч байвал индекс ашиглагдахгүй байна гэсэн дохио. Мөн тооцоолсон болон бодит мөрийн тоо хэт зөрж байвал статистик хуучирсан байж магадгүй.

ҮйлдэлИндексгүйИндекстэй
Харилцагчийн захиалга хайх1 840 мс3.2 мс
Сүүлийн 30 хоногийн тайлан6 210 мс148 мс
Нэг захиалга нэмэх0.8 мс1.1 мс

4–7. Бусад зөвлөгөө

  1. Холболтын санг ашигла. PgBouncer зэрэг хэрэгслээр олон зуун холболтыг цөөн серверийн холболтоор үйлчил.
  2. VACUUM ба ANALYZE-г хянах. autovacuum том хүснэгтүүд дээр хоцорч байгаа эсэхийг шалга.
  3. Санах ойн тохиргоо. shared_buffers-ийг нийт санах ойн 25 орчим хувь, work_mem-ийг асуулгын төрөлд тохируул.
  4. Хуучин өгөгдлийг хуваа. Он, сараар хуваасан (partition) хүснэгт тайлангийн асуулгыг олон дахин хурдасгана.

Хамгийн хурдан асуулга бол огт ажиллуулах шаардлагагүй асуулга. Кэшээ бодолцож архитектураа зохио.

Дэд бүтцийн хэлтэс

Эдгээр алхмыг дараалуулан хийхэд ихэнх систем нэмэлт тоног төхөөрөмжгүйгээр хоёроос арав дахин хурдасдаг. Танай системийн өгөгдлийн санг шалгуулах бол манай инженерүүдтэй холбогдоорой.

Хуваалцах

Холбоотой мэдээ

Цэнхэр гэрэлтэй өрөөнд код харуулж буй зөөврийн компьютер

Хиймэл оюун ухааны хэрэгслүүд одоо зөвхөн том компаниудын тансаглал биш. Зөв эхэлбэл жижиг байгууллага ч бичиг баримт боловсруулах, харилцагчийн асуултад

КОДИНГ-ийн баг оффисдоо гэрчилгээ авсан баяраа тэмдэглэж байна

2018 оноос хойш ISO/IEC 27001 гэрчилгээ эзэмшиж буй КОДИНГ ХХК мэдээллийн аюулгүй байдлын удирдлагын тогтолцоогоо стандартын шинэ, ISO/IEC 27001:2022 хувилбарт

Цэнхэр гэрэлтэй дата төвийн сүлжээний тавиур

Олон улсын ачаа тээврийн нэгэн компани 9 жилийн настай серверүүд дээр захиалга, тээврийн хяналт, санхүүгийн программаа ажиллуулдаг байв. Тоног төхөөрөмж