Litlar fyrirspurnir virka, stórar mistakast: hvaða pakkastærð er þetta?
Pakkarnir í SQL Server-ökumannum, skilaboðamörk MySQL og MTU á IP-slóð eru mismunandi einingar. Bilun sem fer eftir stærð gerir þau ekki skiptanleg.
Litlar fyrirspurnir skila sér, stórar hanga eða detta út, og fyrsta tilfinningin er að eitthvað sé athugavert við pakkastærðina. Sú tilfinning er yfirleitt rétt og næstum alltaf beint að röngu lagi. Þrjár stillingar deila orðinu pakki og mæla þrjá ótengda hluti: flutningsumbúðir gagnagrunnsökumanns, skilaboðamörk gagnagrunnsþjóns og hámarksflutningseiningu IP-slóðar. Að stilla eina til að laga einkenni sem önnur veldur er leiðin sem fimm mínútna vandamál verður vika af stillingum. Röðin hér að neðan er sú sem kostaði mig minnstan tíma.
Þrjú lög, eitt sameiginlegt orð
Hver röð hér að neðan er önnur eining með annan eiganda, og ekki er hægt að rökræða neina þeirra út frá hinum. Gagnagrunnsskilaboð geta tekið yfir mörg TCP-hluta og marga IP-pakka, svo að stækka leyfilega stærð þeirra víkkar ekki slóðina, og að lækka ökumannsstillingu er ekki sama aðgerð og að breyta MTU tengis. Orðið kemur fyrir í þremur mismunandi stillingarskrám, þess vegna skilar leit að því þremur ótengdum svörum. Lestu fyrst villutextann og ákveddu síðan hvaða skrá á að opna.
| 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 |
Skrifaðu niður hvaða lagi bilaða aðgerðin tilheyrir áður en þú opnar stillingarskrá. Villutextinn segir það yfirleitt, og villutextinn er einmitt sá hluti sem fólk sleppir.
Greindu þjónustuveituna áður en þú breytir stillingunni hennar
Fyrir SQL Server skaltu skrá forritið, nafn ökumanns eða þjónustuveitu, útgáfuna og virka tengistillingu. Greiningarskript og skjáborðsforrit geta náð í sama þjón í gegnum mismunandi þjónustuveitur, svo stilling sem hjálpar annarri sannar ekkert um hina. Sjálfgefin gildi þjónustuveitna eru mismunandi, og sambærilega nefndur reitur í tengistreng er ekki sönnun þess að hver þjónustuveita túlki hann á sama hátt.
Skiptu ekki viðhaldnum ökumanni út fyrir eldri bara af því að gömul lausn notaði setningafræði hans. Núgildandi skjöl mæla ekki með nýrri þróun gegn þessum eldri hlutum, og að erfa takmarkanir þeirra er slæmur skipti fyrir eina stillingu.
Synjun skilaboða er ekki stöðvun slóðar
Í MySQL 8.4 lýsir skjölum samskiptapakkans synjun of stórrar skipunar, röðar eða atburðar í tvíundarlogi gagnvart gildandi mörkum, og bæði mörk biðlara og þjóns geta skipt máli. Það er synjun á gagnagrunni, ekki fullyrðing um að netið verði að bera risastóran IP-pakka. Lestu raunverulegu villuna og lögun hins vandamáls sem skilaboðin eru: stór niðurstaða úr mörgum litlum röðum er annað tilvik en ein risastór röð, og þær mistakast á mismunandi hátt.
MariaDB-uppsetningar þurfa skjalfest mörk og greiningu eigin útgáfu. Að afrita sjálfgefin gildi MySQL yfir á MariaDB er gisk með aukaskrefum.
Hvernig sönnun um slóð lítur í raun út
Vandamál með stærð slóðar hefur sitt eigið fingrafar: endurtakanlegt stærðarháð flutningsbilun á tiltekinni leið og vistfangi fjölskyldu, með yfirhöfn göngunnar í leik og endurgjöf uppgötvunar sem hegðar sér eins og slóðin leyfir. Tímamörk ein og sér greina það ekki frá hægri fyrirspurn, ökumannsvillu eða mörkum á þjónshlið, og að líta á tímamörk sem sönnun um MTU-vandamál sendir þig með öryggi á ranga lag.
Ef þú prófar slóðina skaltu halda áfangastað, reikningi og vinnuálagi föstum svo eina breytan sé stærðin sem þú ert að kanna. Próf þar sem þrír hlutir breyttust segir þér ekkert um hver þeirra skipti máli.
Breyttu einni skjalfestri breytu og skráðu hana síðan
Haltu áfangastað, reikningi, þjónustuveitu og vinnuálagi stöðugum, skráðu upprunalega gildið, beittu einni studdri breytingu og skráðu niðurstöðuna. Minni stilling sem lætur eitt próf heppnast er gagnleg sönnun um þann prófuðu stafla; hún er ekki alhliða besta stilling og staðfestir ekki hvað olli upprunalegu biluninni. Þetta eru mismunandi fullyrðingar, og aðeins fyrri er studd af einni tilraun.
Leystu auðkenndu mörkin á eigin lagi og skráðu síðan hvaða lag það var. Athugasemdin er það sem kemur í veg fyrir að næsta manneskja stilli ökumanninn vegna þess að slóðin var vandamálið.