Küçük sorgular döner, büyükler takılır veya düşer ve ilk sezgi paket boyutunda bir sorun olduğudur. Bu sezgi genellikle doğrudur ve neredeyse her zaman yanlış katmana yönelir. Üç ayar paket kelimesini paylaşır ve ilgisiz üç şeyi ölçer: bir veritabanı sürücüsünün taşıma ambalajı, bir veritabanı sunucusunun mesaj sınırı ve IP yolunun maksimum iletim birimi. Birini diğerinin yol açtığı bir belirtiyi düzeltmek için ayarlamak, beş dakikalık bir sorunun bir haftalık ayara dönüşme yoludur. Aşağıdaki sıra bana en az zaman kaybettiren sıradır.

Üç katman, tek ortak kelime

Aşağıdaki her satır farklı bir sahibi olan farklı bir birimdir ve hiçbiri diğerlerinden çıkarılamaz. Bir veritabanı mesajı birçok TCP segmentine ve birçok IP paketine yayılabilir, bu nedenle izin verilen boyutunu artırmak yolu genişletmez ve bir sürücü ayarını düşürmek bir arayüz MTU'sunu değiştirmekle aynı işlem değildir. Kelime üç farklı yapılandırma dosyasında görünür, bu yüzden aranması ilgisiz üç yanıt döndürür. Önce hata metnini okuyun, sonra hangi dosyayı açacağınıza karar verin.

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

Bir yapılandırma dosyası açmadan önce başarısız işlemin hangi katmana ait olduğunu yazın. Hata metni bunu genellikle söyler ve insanların atladığı kısım tam da bu metindir.

Ayarını değiştirmeden önce sağlayıcıyı belirleyin

SQL Server için uygulamayı, sürücü veya sağlayıcı adını, sürümü ve etkin bağlantı yapılandırmasını kaydedin. Bir tanılama betiği ve bir masaüstü uygulaması aynı sunucuya farklı sağlayıcılar üzerinden ulaşabilir, bu yüzden birine yardım eden bir ayar diğeri hakkında hiçbir şey kanıtlamaz. Sağlayıcı varsayılanları farklıdır ve benzer adlı bir bağlantı dizesi alanı her sağlayıcının onu aynı şekilde yorumladığının kanıtı değildir.

Bir bakımlı sürücüyü yalnızca eski bir çözüm onun sözdizimini kullandı diye eski bir sürücüyle değiştirmeyin. Güncel belgeler bu daha eski bileşenler üzerinde yeni geliştirmeyi teşvik etmez ve onların sınırlarını miras almak tek bir ayar için kötü bir takastır.

Mesaj reddi yol tıkanıklığı değildir

MySQL 8.4'te iletişim paketi belgeleri, geçerli sınıra karşı çok büyük bir ifadenin, satırın veya ikili günlük olayının reddedildiğini açıklar ve hem istemci hem de sunucu sınırları önemli olabilir. Bu, veritabanı katmanında bir reddetmedir; ağın devasa bir IP paketi taşıması gerektiği iddiası değildir. Gerçek hatayı ve sorunlu mesajın şeklini okuyun: birçok küçük satırdan oluşan büyük bir sonuç, tek bir dev satırdan farklı bir durumdur ve farklı şekillerde başarısız olurlar.

MariaDB kurulumları kendi sürümlerinin belgelenmiş sınırlarına ve tanılamasına ihtiyaç duyar. MySQL varsayılanlarını MariaDB'ye kopyalamak fazladan adımlarla tahmin etmektir.

Yol kanıtı gerçekte nasıl görünür

Bir yol boyutu sorununun kendi parmak izi vardır: belirli bir rota ve adres ailesi boyunca yinelenebilir, boyuta bağlı bir taşıma arızası; tünelin ek yükü devrede ve keşif geri bildirimi yolun izin verdiği gibi davranır. Tek başına bir zaman aşımı onu yavaş sorgudan, sürücü hatasından veya sunucu tarafı sınırdan ayırmaz ve zaman aşımını MTU sorunlarının kanıtı saymak sizi güvenle yanlış katmana gönderir.

Yolu test ederseniz hedefi, hesabı ve iş yükünü sabit tutun ki tek değişken araştırdığınız boyut olsun. Üç şeyin değiştiği bir test hangisinin önemli olduğu hakkında size hiçbir şey söylemez.

Belgelenmiş bir değişkeni değiştirin, sonra kaydedin

Hedefi, hesabı, sağlayıcıyı ve iş yükünü sabit tutun, özgün değeri kaydedin, desteklenen tek bir değişiklik uygulayın ve sonucu kaydedin. Bir testi geçiren daha küçük bir ayar o test edilen yığın hakkında yararlı bir kanıttır; evrensel bir optimum değildir ve özgün arızaya neyin yol açtığını ortaya koymaz. Bunlar farklı iddialardır ve yalnızca birincisi tek bir deneyle desteklenir.

Belirlenen sınırı kendi katmanında çözün, sonra hangi katman olduğunu not edin. Not, sorun yol olduğu için bir sonraki kişinin sürücüyü ayarlamasını engelleyen şeydir.

İlgili makaleler