Փոքր հարցումները վերադառնում են, մեծերը՝ կախվում կամ ընկնում, և առաջին ենթադրությունն այն է, որ փաթեթի չափի հետ ինչ-որ բան այն չէ։ Այդ ենթադրությունը սովորաբար ճիշտ է և գրեթե միշտ ուղղված է սխալ շերտին։ Երեք կարգավորում կիսում են փաթեթ բառը և չափում են երեք անկապ բան՝ տվյալների բազայի դրայվերի տրանսպորտային փաթեթավորումը, տվյալների բազայի սերվերի հաղորդագրության սահմանը և IP ուղու առավելագույն փոխանցման միավորը։ Մեկը կարգավորելը մյուսի առաջացրած ախտանիշը շտկելու համար այն ուղին է, որով հինգ րոպեի խնդիրը դառնում է մեկ շաբաթ կարգավորում։ Ստորև տրված հերթականությունն ինձ ամենաքիչ ժամանակն է արժեցել։

Երեք շերտ, մեկ ընդհանուր բառ

Ստորև յուրաքանչյուր տող տարբեր միավոր է՝ տարբեր սեփականատիրոջով, և դրանցից ոչ մեկի մասին չի կարելի դատել մյուսներից։ Տվյալների բազայի հաղորդագրությունը կարող է ընդգրկել բազմաթիվ TCP հատվածներ և բազմաթիվ IP փաթեթներ, ուստի դրա թույլատրելի չափը մեծացնելը չի լայնացնում ուղին, իսկ դրայվերի կարգավորումը նվազեցնելը նույն գործողությունը չէ, ինչ ինտերֆեյսի MTU-ն փոխելը։ Բառը հանդիպում է երեք տարբեր կարգավորումների ֆայլերում, դրա համար էլ դրա որոնումը վերադարձնում է երեք անկապ պատասխան։ Նախ կարդացեք սխալի տեքստը, հետո որոշեք, թե որ ֆայլը բացել։

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

Կարգավորումների ֆայլը բացելուց առաջ գրի առեք, թե որ շերտին է պատկանում ձախողված գործողությունը։ Սխալի տեքստը սովորաբար դա ասում է, և հենց սխալի տեքստն է այն մասը, որը մարդիկ բաց թողնում են։

Նախ նույնականացրեք մատակարարին, հետո փոխեք նրա կարգավորումը

SQL Server-ի համար գրի առեք հավելվածը, դրայվերի կամ մատակարարի անվանումը, տարբերակը և կապի արդյունավետ կարգավորումը։ Ախտորոգման սցենարը և աշխատանքային սեղանի հավելվածը կարող են հասնել նույն սերվերին տարբեր մատակարարների միջոցով, ուստի մեկին օգնող կարգավորումը ոչինչ չի ապացուցում մյուսի մասին։ Մատակարարների լռելյայն արժեքները տարբերվում են, և նման անունով կապի տողի դաշտը ապացույց չէ, որ յուրաքանչյուր մատակարար այն նույն կերպ է մեկնաբանում։

Մի փոխարինեք պահպանվող դրայվերը հինով միայն այն պատճառով, որ հին լուծումն օգտագործել է դրա շարահյուսությունը։ Ընթացիկ փաստաթղթերը չեն խրախուսում նոր զարգացումը այդ ավելի հին բաղադրիչների վրա, և դրանց սահմանափակումները ժառանգելը վատ գործարք է մեկ կարգավորման համար։

Հաղորդագրության մերժումը ուղու կանգ չէ

MySQL 8.4-ում հաղորդակցական փաթեթի փաստաթղթերը նկարագրում են, որ չափազանց մեծ հայտարարությունը, տողը կամ երկուական մատյանի իրադարձությունը մերժվում է կիրառելի սահմանի դեմ, և կարևոր կարող են լինել թե՛ հաճախորդի, թե՛ սերվերի սահմանները։ Դա մերժում է տվյալների բազայի շերտում, ոչ թե պնդում, որ ցանցը պետք է կրի հսկայական IP փաթեթ։ Կարդացեք փաստացի սխալը և խնդրահարույց հաղորդագրության ձևը՝ շատ փոքր տողերից կազմված մեծ արդյունքը տարբեր դեպք է, քան մեկ վիթխարի տողը, և դրանք տարբեր կերպ են ձախողվում։

MariaDB-ի տեղադրումները պահանջում են սեփական տարբերակի փաստաթղթավորված սահմաններն ու ախտորոշումը։ MySQL-ի լռելյայն արժեքները MariaDB-ի վրա պատճենելը լրացուցիչ քայլերով գուշակում է։

Ինչպիսին է իրականում ուղու ապացույցը

Ուղու չափի խնդիրն ունի իր մատնահետքը. կրկնվող չափից կախված տրանսպորտային ձախողում որոշակի երթուղու և հասցեների ընտանիքի վրա, թունելի հավելյալ ծախսի հետ և հայտնաբերման հետադարձ կապը վարվելով այնպես, ինչպես ուղին թույլ է տալիս։ Միայն ժամկետի սպառումը չի տարբերում այն դանդաղ հարցումից, դրայվերի սխալից կամ սերվերի կողմի սահմանից, և ժամկետի սպառումը որպես MTU խնդիրների ապացույց դիտարկելը ձեզ վստահությամբ ուղարկում է սխալ շերտ։

Եթե իսկապես փորձարկում եք ուղին, նպատակակետը, հաշիվը և աշխատանքային բեռը պահեք ֆիքսված, որպեսզի միակ փոփոխականը լինի այն չափը, որը զննում եք։ Թեստը, որտեղ երեք բան փոխվել է, ձեզ ոչինչ չի ասում, թե որն էր կարևոր։

Փոխեք մեկ փաստաթղթավորված փոփոխական, ապա գրի առեք այն

Նպատակակետը, հաշիվը, մատակարարը և աշխատանքային բեռը պահեք հաստատուն, գրի առեք սկզբնական արժեքը, կիրառեք մեկ աջակցվող փոփոխություն և գրի առեք արդյունքը։ Ավելի փոքր կարգավորումը, որը թույլ է տալիս մեկ թեստի հաջողել, օգտակար ապացույց է այդ փորձարկված կույտի մասին. այն համընդհանուր օպտիմում չէ և չի հաստատում, թե ինչն է առաջացրել սկզբնական ձախողումը։ Դրանք տարբեր պնդումներ են, և միայն առաջինն է հիմնավորվում մեկ փորձով։

Լուծեք հայտնաբերված սահմանը իր իսկ շերտում, ապա նշեք, թե որ շերտն էր։ Հենց նշումն է խանգարում հաջորդ մարդուն կարգավորել դրայվերը, որովհետև ուղին էր խնդիրը։

Առնչվող հոդվածներ