1C nega sekin ishlaydi va nega yangi server odatda yordam bermaydi
Birinchi qoida - yangi server sotib olmang. Oʻn holatning sakkizida 1C sekin ishlashining sababi temirda emas: millionlab ortiqcha satrni oʻqiydigan soʻrovlar, mavjud boʻlmagan indekslar, maʼlumotlar bazasini boshqarish tizimi (MBBT)ning eskirgan statistikasi yoki foydalanuvchilar oʻrtasidagi bloklashlar. Bularning barchasi instrumental tarzda tashxislanadi: 1C texnologik jurnali va SQL soʻrov rejalari aybdorni kod satrigacha aniqlik bilan koʻrsatadi.
Sababni qanday izlaymiz
- 1C texnologik jurnali - uzoq davom etadigan soʻrovlar va bloklashlardagi kutishlar boʻyicha hodisalar yigʻishni sozlaymiz; qaysi operatsiyalar va kimning kodi vaqtni yeyayotganining aniq manzarasini olamiz.
- SQL soʻrov rejalari - MBBT ogʻir soʻrovlarni aslida qanday bajarayotganini koʻramiz: indeks boʻyicha qidiruv oʻrniga skanerlash, ortiqcha birlashtirishlar, nooptimal ichma-ich soʻrovlar.
- MBBT kutishlar statistikasi - server nimaga tiralayotganini aniqlaymiz: disklar, protsessor, bloklashlar, xotira.
- Asosiy operatsiyalar boʻyicha APDEX oʻlchovlari - tezlikni “oʻrtacha koʻrsatkichlar” bilan emas, foydalanuvchi koʻzi bilan qayd etamiz.
Odatiy topilmalar
Yillar davomida “aybdorlar” roʻyxati takrorlanadi: sikldagi soʻrovlar, tanlovlarsiz virtual jadvallar bilan birlashtirishlar, oʻtkazish tranzaksiyasi ichida qoldiqlarni olish, indekslanmagan maydonlar boʻyicha tanlovlar, ommaviy yuklashlardan keyin eskirgan statistika, oʻzi yozilgan koddagi ortiqcha bloklashlar. Deyarli barchasi temirni almashtirmasdan va yangi konfiguratsiyaga oʻtmasdan hal boʻladi.
Real loyihalardan soʻnggi natijalar
- Kassir oldidagi cheklar roʻyxati: 25 soniya → bir zumda (505 410 → 4 mantiqiy oʻqish) - kassa operatsiyalari uchun indekslar hamda kirishni cheklash mexanizmi tahlili.
- Oltita ogʻir boshqaruv hisoboti: vaqt boʻyicha −22…−42 % - toʻliq bir xil maʼlumotlarda: “oldin” va “keyin” natijasi “koʻz bilan” emas, SHA-256 nazorat summasi bilan solishtirildi.
- “Kassalarning kechki qotib qolishi”: bloklashlar nol boʻlib chiqdi - 48 yadroli serverda SQL ning agressiv parallelizmi tormozlagan (zavod sozlamalari: cost threshold = 5, MAXDOP = 0). Ikkita sozlama - va pik lotereya boʻlishdan qoldi. Nega avval oʻlchab, keyin temir sotib olinishining klassik misoli.
- 2 daqiqa “oʻtkazilmay turgan” hujjat → 17 soniya - har bir satr boʻyicha sikldagi qoldiqlar soʻrovi bitta set-based soʻrovga qayta yozildi.
- Tahlildan soʻng hisobotlarning bir qismi oʻzgarishsiz qoldirildi - tor joy soʻrovda emas edi va qayta yozish yutuq bermasdi. Tezlashmaydigan narsaga byudjetingizni sarflamaslik ham natija.
Eng yirik loyihaning batafsil tahlili - “4,2 TB bazani 105 GB gacha kesish” keysida.
SQL serverda 1C ni tezlashtirish
Alohida yoʻnalish - MBBTni 1C uchun sozlash: xotira va parallellik parametrlari, tempdb, statistikani avtomatik yangilash, indekslarga xizmat koʻrsatish. “Standart” sozlamalar mavhum yuklamaga moʻljallangan, 1C profiliga emas. MS SQL ni ham, PostgreSQL ni ham sozlaymiz - biridan ikkinchisiga migratsiyalar bilan birga.