Lytse queries wurkje, grutte mislearje: hokker pakketgrutte is it?
SQL Server-stjoerderpakketten, MySQL-berjochtlimiten en de MTU fan in IP-rûte binne ferskillende ienheden. In grutte-ôfhinklike flater makket se net útwikselber.
Lytse queries komme werom, grutte hingje of falle fuort, en de earste ympuls is dat der wat mis is mei de pakketgrutte. Dy ympuls is meastentiids goed en hast altyd rjochte op 'e ferkearde laach. Trije ynstellings diele it wurd pakket en mjitte trije net-ferbûne dingen: de ferfiersferpakking fan in databasetstjoerder, de berjochtlimyt fan in databaseserver en de maksimale oerdrachtienheid fan 'e IP-rûte. Ien oanpasse om in symptoom te ferhelpjen dat troch in oar feroarsake is, is hoe't in probleem fan fiif minuten in wike ôfstimmen wurdt. De folchoarder hjirûnder is dejinge dy't my it minste tiid koste hat.
Trije lagen, ien mienskiplik wurd
Elke rige hjirûnder is in oare ienheid mei in oare eigner, en oer gjinien kin út 'e oaren redenearre wurde. In databasetberjocht kin oer in protte TCP-segmenten en in protte IP-pakketten strekke, dat it fergrutsjen fan 'e tastiene grutte ferbreedet it paad net, en it ferlytsjen fan in stjoerderynstelling is net deselde operaasje as it feroarjen fan in interface-MTU. It wurd ferskynt yn trije ferskillende konfiguraasjebestannen, dêrom jout it sykjen dernei trije net-ferbûne antwurden. Lês earst de flatertekst en beslús dan hokker bestân te iepenjen.
| Setting or observation | Unit it describes |
|---|---|
| SQL Server client network packet setting | The provider's transport packaging for that connection |
| MySQL communication packet limit | A database message, such as one statement, row or replication event |
| IP path MTU | The largest IP packet the path carries without fragmentation handling |
Skriuw op by hokker laach de mislearre operaasje heart foardat jo in konfiguraasjebestân iepenje. De flatertekst seit dat meastentiids, en de flatertekst is it diel dat minsken oerslaan.
Identifisearje de leveransier foardat jo syn ynstelling feroarje
Foar SQL Server, skriuw de applikaasje, de namme fan 'e stjoerder of leveransier, de ferzje en de effektive ferbiningkonfiguraasje op. In diagnostisysk skript en in buroblêdapplikaasje kinne deselde server troch ferskillende leveransiers berikke, dat in ynstelling dy't ien helpt bewiist neat oer de oare. De standertwearden fan leveransiers ferskille, en in ferlykber neamd fjild yn 'e ferbiningstekst is gjin bewiis dat elke leveransier it itselde ynterpretearret.
Ferwikselje in ûnderhâlden stjoerder net foar in âldere allinnich om't in âlde omgong syn syntaksis brûkte. Aktuele dokumintaasje ûntmoedigt nije ûntwikkeling tsjin dy âldere komponinten, en har beheiningen ervje is in minne ruil foar ien ynstelling.
Berjochtôfwizing is gjin paadstop
Yn MySQL 8.4 beskriuwt de dokumintaasje fan kommunikaasjepakketten dat in te grutte ferklearring, rige of binêre-logbarren tsjin 'e jildende limyt ôfwiisd wurdt, en sawol kliïnt- as serverlimyt kinne fan belang wêze. Dat is in ôfwizing op 'e databaselaach, net de bewearing dat it netwurk in gigantysk IP-pakket drage moat. Lês de wiere flater en de foarm fan it oertredende berjocht: in grut resultaat fan in protte lytse rijen is in oar gefal as ien grutte rige, en se mislearje oars.
MariaDB-ynstallaasjes hawwe de dokumintearre limiten en diagnostyk fan har eigen ferzje nedich. MySQL-standertwearden nei MariaDB kopiearje is rieden mei ekstra stappen.
Hoe't bewiis fan it paad der echt útsjocht
In paadgrutteprobleem hat syn eigen fingerôfdruk: in werhelbere grutte-ôfhinklike ferfiersflater lâns ien bepaalde rûte en adresfamylje, mei de oerheaksel fan 'e tunnel yn it spul en ûntdekkingsfeedback dy't him hâldt sa't it paad it tastiet. In timeout allinnich ûnderskiedt it net fan in stadige query, in stjoerderflater of in serverkantlimyt, en in timeout behannelje as bewiis fan MTU-problemen stjoert jo mei fertrouwen nei de ferkearde laach.
As jo it paad testen, hâld dan de bestimming, it akkount en de wurklêst fêst sadat de iennige fariabele de grutte is dy't jo ûndersykje. In test wêryn't trije dingen feroaren fertelt jo neat oer hokker fan belang wie.
Feroarje ien dokumintearre fariabele en skriuw it dan op
Hâld de bestimming, it akkount, de leveransier en de wurklêst konstant, skriuw de oarspronklike wearde op, pas ien stipe feroaring ta en skriuw it resultaat op. In lytsere ynstelling dy't ien test slagje lit is nuttich bewiis oer dy testte stapel; it is gjin universeel optimum en it fêststelt net wat de oarspronklike flater feroarsake. Dat binne ferskillende bewearings, en allinnich de earste wurdt troch ien eksperimint stipe.
Los de identifisearre limyt op yn syn eigen laach en skriuw dan op hokker laach it wie. De notysje is wat de folgjende persoan tsjinhâldt om de stjoerder ôf te stimmen om't it paad it probleem wie.