terminal
Tashxis tartibi: pg_stat_statements, VACUUM va timeout
Easybolt+20 XPflagRequired
Bazani yoqish: baza-start (har lab boshida server o'chiq bo'ladi). psql'ga kirish: hn (bu psql -h /tmp -U postgres -d hn uchun qisqartma; fayl bajarish: hn -f fayl.sql, bitta so'rov: hn -c "..."). "Baza sekin" — shikoyat; siz O'LCHAYSIZ. Bazada log yozuv (200k qator) va sun'iy shishirilgan shish jadvali bor; /root/db/yuk.sql — tayyor yuk skripti. Vazifa O'lchov vositasini yoqing : hn -c "alter system set shared preload libraries = 'pg stat statements'", so'ng baza-restart (bu sozlama restart talab qiladi), so'ng hn -c "create extension pg stat statements". Yukni bajaring: hn -f /root/db/yuk.sql Darsdagi so'rov bilan TOP og'ir so'rovni toping (order by total exec time desc) va /root/db/hisobot.txt yozing: VACUUM FULL : shish jadvali o'lik qatorlarga to'la — hn -c "vacuum full shish" bilan joyni qaytaring (checker hajm HAQIQATAN kichrayganini o'lchaydi). Himoya : hn -c "alter database hn set statement timeout = '5s'". Muvaffaqiyat mezoni pg stat statements jonli ishlashi (view so'rov qabul qiladi) va preload sozlangani. OGIR CALLS checker tomonidan xuddi shu mezonda qayta hisoblanadi. shish hajmi boshlang'ichning yarmidan kichik; yangi sessiyada show statement timeout = 5s.