Kiçik sorğular cavab qaytarır, böyüklər donur və ya düşür, və ilk instinkt paket ölçüsü ilə bağlı nəyinsə səhv olduğudur. Bu instinkt adətən doğrudur və demək olar ki, həmişə yanlış qatı hədəfləyir. Üç parametr paket sözünü paylaşır və üç əlaqəsiz şeyi ölçür: verilənlər bazası sürücüsünün nəqli qablaşdırması, verilənlər bazası serverinin mesaj limiti və IP yolunun maksimum ötürmə vahidi. Birini digərinin yaratdığı simptomu düzəltmək üçün tənzimləmək beş dəqiqəlik problemi bir həftəlik tənzimləməyə çevirən yoldur. Aşağıdakı sıra mənə ən az vaxt itirdiyim sıradır.

Üç qat, bir ümumi söz

Aşağıdakı hər sətir fərqli sahibi olan fərqli bir vahiddir və heç biri digərlərindən çıxarıla bilməz. Verilənlər bazası mesajı çoxlu TCP seqmentinə və çoxlu IP paketinə yayıla bilər, ona görə də onun icazə verilən ölçüsünü artırmaq yolu böyütmür və sürücü parametrini azaltmaq interfeys MTU-sunu dəyişməklə eyni əməliyyat deyil. Söz üç fərqli konfiqurasiya faylında görünür, buna görə də onu axtarmaq üç əlaqəsiz cavab qaytarır. Əvvəlcə xəta mətnini oxu, sonra hansı faylı açacağına qərar ver.

Setting or observationUnit it describes
SQL Server client network packet settingThe provider's transport packaging for that connection
MySQL communication packet limitA database message, such as one statement, row or replication event
IP path MTUThe largest IP packet the path carries without fragmentation handling

Konfiqurasiya faylını açmazdan əvvəl uğursuz əməliyyatın hansı qata aid olduğunu yaz. Xəta mətni bunu adətən deyir və xəta mətni insanların atladığı hissədir.

Parametrini dəyişməzdən əvvəl provayderi müəyyən et

SQL Server üçün tətbiqi, sürücü və ya provayder adını, versiyanı və effektiv bağlantı konfiqurasiyasını qeyd et. Diaqnostik skript və masaüstü tətbiqi eyni serverə fərqli provayderlərlə çata bilər, ona görə birinə kömək edən parametr digəri haqqında heç nə sübut etmir. Provayderlərin defoltları fərqlidir və oxşar adlı bağlantı sətri sahəsi hər provayderin onu eyni cür şərh etdiyinə dəlil deyil.

Yalnız köhnə bir həll onun sintaksisindən istifadə etdiyi üçün dəstəklənən sürücünü köhnəsi ilə dəyişmə. Mövcud sənədlər həmin köhnə komponentlərə qarşı yeni işləməyi tövsiyə etmir və onların məhdudiyyətlərini miras almaq bir parametr üçün pis mübadilədir.

Mesajın rədd edilməsi yolun dayanması deyil

MySQL 8.4-də kommunikasiya paketi sənədləri həddindən böyük bir ifadənin, sətrin və ya ikili jurnal hadisəsinin tətbiq olunan limitə görə rədd edildiyini təsvir edir və həm müştəri, həm server limitləri vacib ola bilər. Bu, verilənlər bazası qatında rədd etmədir, şəbəkənin nəhəng IP paketi daşımalı olduğu ifadəsi deyil. Faktiki xətanı və problemli mesajın formasını oxu: çoxlu kiçik sətirdən ibarət böyük nəticə bir nəhəng sətirdən fərqli haldır və onlar fərqli şəkildə uğursuz olur.

MariaDB quraşdırmaları öz versiyalarının sənədləşdirilmiş limitlərinə və diaqnostikasına ehtiyac duyur. MySQL defoltlarını MariaDB-yə köçürmək əlavə addımlarla təxmin etməkdir.

Yol sübutu əslində nə kimi görünür

Yol ölçüsü probleminin öz barmaq izi var: müəyyən bir marşrut və ünvan ailəsi boyunca təkrarlanan, ölçüdən asılı nəqli nasazlıq, tunelin əlavə yükü işə düşür və kəşf əks əlaqəsi yolun imkan verdiyi kimi davranır. Tək bir fasilə onu yavaş sorğudan, sürücü xətasından və ya server tərəfli limitdən ayırmır və fasiləni MTU probleminin sübutu kimi qəbul etmək səni əminliklə yanlış qata göndərir.

Yolu həqiqətən test edirsənsə, təyinatı, hesabı və iş yükünü sabit saxla ki, yeganə dəyişən yoxladığın ölçü olsun. Üç şeyin dəyişdiyi test hansının vacib olduğu barədə sənə heç nə demir.

Bir sənədləşdirilmiş dəyişəni dəyiş, sonra onu qeyd et

Təyinatı, hesabı, provayderi və iş yükünü sabit saxla, ilkin dəyəri qeyd et, bir dəstəklənən dəyişiklik tətbiq et və nəticəni qeyd et. Bir testin keçməsinə səbəb olan kiçik parametr həmin sınaqdan keçmiş stek haqqında faydalı sübutdur; o, universal optimum deyil və ilkin nasazlığın səbəbini müəyyən etmir. Bunlar fərqli iddialardır və yalnız birincisi tək bir təcrübə ilə dəstəklənir.

Müəyyən edilmiş limiti öz qatında həll et, sonra hansı qat olduğunu qeyd et. Qeyd məhz növbəti insanın yol problem olduğu üçün sürücünü tənzimləməsinin qarşısını alır.

Əlaqəli məqalələr