Кіші сұраулар жұмыс істейді, үлкендері сәтсіз аяқталады: қай пакет өлшемі?
SQL Server драйверінің пакеттері, MySQL хабарлама шектеулері және IP жолының MTU әртүрлі бірліктер. Өлшемге тәуелді сәтсіздік оларды өзара алмастырылатын етпейді.
Кіші сұраулар қайтады, үлкендері ілініп қалады немесе түсіп қалады, ал бірінші болжам пакет өлшемінде бірдеңе дұрыс емес дегенге саяды. Бұл болжам әдетте дұрыс және әрдайым дерлік дұрыс емес қабатты нысанаға алады. Үш параметр пакет сөзін бөліседі және үш байланыссыз нәрсені өлшейді: дерекқор драйверінің тасымал қаптамасы, дерекқор серверінің хабарлама шегі және IP жолының ең жоғары жеткізу бірлігі. Біреуін екіншісі туғызған белгіні түзету үшін реттеу бес минуттық мәселені бір апталық реттеуге айналдыратын жол. Төмендегі тәртіп маған ең аз уақыт жұмсатқан тәртіп.
Үш қабат, бір ортақ сөз
Төмендегі әр жол әртүрлі иесі бар әртүрлі бірлік, және олардың ешқайсысы туралы қалғандарынан пайымдауға болмайды. Дерекқор хабарламасы көптеген TCP сегменттерін және көптеген IP пакеттерін қамтуы мүмкін, сондықтан оның рұқсат етілген өлшемін ұлғайту жолды кеңейтпейді, ал драйвер параметрін азайту интерфейс MTU-ын өзгертумен бірдей операция емес. Сөз үш түрлі конфигурация файлында кездеседі, сондықтан оны іздеу үш байланыссыз жауап қайтарады. Алдымен қате мәтінін оқып, содан кейін қай файлды ашатыныңызды шешіңіз.
| 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 |
Конфигурация файлын ашпас бұрын сәтсіз операция қай қабатқа жататынын жазып алыңыз. Қате мәтіні әдетте солай дейді, және адамдар дәл сол бөлікті өткізіп жібереді.
Оның параметрін өзгертпес бұрын провайдерді анықтаңыз
SQL Server үшін қолданбаны, драйвер немесе провайдер атауын, нұсқасын және тиімді қосылым конфигурациясын жазыңыз. Диагностикалық скрипт пен жұмыс үстелі қолданбасы бір серверге әртүрлі провайдерлер арқылы жете алады, сондықтан біреуіне көмектесетін параметр екіншісі туралы ештеңе дәлелдемейді. Провайдерлердің әдепкі мәндері әртүрлі, және қосылым жолындағы ұқсас атаулы өріс әрбір провайдердің оны бірдей түсіндіретініне дәлел емес.
Тек ескі шешім оның синтаксисін қолданды деп, қолдау көрсетілетін драйверді ескісіне ауыстырмаңыз. Ағымдағы құжаттама сол ескі компоненттерге қарсы жаңа әзірлеуді ұсынбайды, және олардың шектеулерін мұралау бір параметр үшін нашар айырбас.
Хабарламаны қабылдамау жолдың тоқтауы емес
MySQL 8.4-те байланыс пакетінің құжаттамасы қолданылатын шекке қарсы тым үлкен оператордың, жолдың немесе бинарлық журнал оқиғасының қабылданбауын сипаттайды, және клиент пен сервер шектеулерінің екеуі де маңызды болуы мүмкін. Бұл дерекқор қабатындағы қабылдамау, желінің алып IP пакетін тасуы керек деген тұжырым емес. Нақты қатені және мәселелі хабарламаның пішінін оқыңыз: көптеген кіші жолдардан тұратын үлкен нәтиже бір алып жолдан басқа жағдай, және олар басқаша сәтсіздікке ұшырайды.
MariaDB орнатулары өз нұсқасының құжатталған шектеулері мен диагностикасын қажет етеді. MySQL әдепкі мәндерін MariaDB-ге көшіру қосымша қадамдармен болжау.
Жол дәлелі шын мәнінде қалай көрінеді
Жол өлшемі мәселесінің өз саусақ ізі бар: белгілі бір маршрут пен мекенжай тобында өлшемге тәуелді қайталанатын тасымал ақауы, туннельдің қосымша шығыны іске қосылып, ашу кері байланысы жол рұқсат еткендей әрекет етеді. Жалғыз тайм-аут оны баяу сұраудан, драйвер қатесінен немесе сервер жақ шектеуінен ажыратпайды, және тайм-аутты MTU мәселесінің дәлелі деп қабылдау сізді сенімді түрде дұрыс емес қабатқа жібереді.
Егер жолды шынымен сынасаңыз, барар жерді, есептік жазбаны және жүктемені тұрақты ұстаңыз, сонда жалғыз айнымалы сіз тексеретін өлшем. Үш нәрсе өзгерген сынақ қайсысы маңызды болғаны туралы ештеңе айтпайды.
Бір құжатталған айнымалыны өзгертіп, содан кейін оны жазып алыңыз
Барар жерді, есептік жазбаны, провайдерді және жүктемені тұрақты ұстаңыз, бастапқы мәнді жазыңыз, бір қолдау көрсетілген өзгеріс енгізіп, нәтижені жазыңыз. Бір сынақты өткізетін кішірек параметр сол сыналған стек туралы пайдалы дәлел; ол әмбебап оптимум емес және бастапқы сәтсіздіктің себебін анықтамайды. Бұл әртүрлі тұжырымдар, және тек біріншісін бір эксперимент қолдайды.
Анықталған шектеуді өз қабатында шешіп, содан кейін қай қабат болғанын жазып қойыңыз. Дәл сол жазба келесі адамның жол мәселе болғандықтан драйверді реттеуіне жол бермейді.