Usa ka regression ang nadiskobrehan sa Linux 7.0 kernel nga nagpamenos sa performance sa PostgreSQL og katunga.

Usa ka inhenyero sa Amazon ang nakaila og regression nga espesipiko sa Linux kernel 7.0, nga gilauman nga ipagawas sa Abril 13. Ang pagbag-o sa mga setting sa task scheduler miresulta sa dakong pagkunhod sa throughput ug responsiveness sa pagpadagan sa PostgreSQL sa mga sistema sa ARM64. Gamit ang kernel 7.0, ang performance sa pgbench "simple-update" test miubos og halos doble, gikan sa 98565 ngadto sa 50751.

Ang paghinay tungod sa pag-usab sa default scheduler preemption mode gikan sa PREEMPT_NONE ngadto sa PREEMPT_LAZY sa mga arkitektura nga nagsuporta niini. Kini ang hinungdan nga ang PostgreSQL mogugol ug 55% sa oras sa CPU niini sa pagtawag sa s_lock() sa user space. Aron masulbad kini nga isyu, gisugyot nga ibalik ang PREEMPT_NONE sa default ug i-unlink kini gikan sa ARCH_NO_PREEMPT setting.

Si Peter Zijlstra, ang awtor sa mga pagbag-o nga hinungdan sa regression ug ang maintainer sa task scheduler ug lock-related kernel subsystems, miingon nga kinahanglan nga ipatuman ang usa ka pag-ayo sa PostgreSQL code. Aron masulbad ang pagkadaot sa performance, girekomenda niya ang paggamit sa bag-o lang gidugang nga "rseq slice" (Restartable Sequences) extension sa PostgreSQL kernel aron limitahan ang posibilidad sa pagtangtang sa lock holder.

Dili pa klaro kung unsa nga desisyon ang himuon ni Linus Torvalds, tungod kay nagsunod siya sa prinsipyo nga ang kernel dili angay nga mopaubos sa performance o makaguba sa user-space compatibility. Sa usa ka bahin, ang kernel 7.0 naa sa katapusang yugto sa pagsulay sa dili pa ipagawas, ug ang pag-rollback sa mga setting sa scheduler mahimong mosangpot sa ubang mga regression. Sa laing bahin, ang mga tiggamit mahimong makasinati og katunga sa performance sa usa sa labing inila nga mga database.

Source: opennet.ru

Idugang sa usa ka comment