Sorgular milisaniyeler içinde bitebilir ve yine de bir VPN üzerinden dizüstü bilgisayara ulaşmak dakikalar alabilir. Sunucu satırları arabelleklere yazar, bağlantı onları taşır ve istemci onları tüketir, ve bu aşamalar sırayla ilerlemek yerine üst üste biner. Herhangi biri sınır hâline gelebilir. Bant genişliğini değiştirmeden veya sıkıştırmayı açmadan önce gerçekten bekleyen aşamayı bulun.

Üç Aşama, Bir Kronometre

Zamanlayıcıyı farklı anlamlara gelen iki sayıya ayırın: ilk satırın kullanılabilir olduğu an ve son satırın tüketildiği an. İlk sayfayı boyayan ızgara yalnızca sorgunun başladığını kanıtlar. Tam sonucun süresi, kullanıcının dışa aktarırken veya sona kadar kaydırırken deneyimlediği şeydir.

Her iki sayıyı sorgu metni, parametreler ve bağlantı ayarlarıyla birlikte kaydedin. Bu bağlam olmadan karşılaştırma iki farklı iş arasındadır, iki konum arasında değil.

Ağı Beklemeden Önce Beklemeyi Okuyun

SQL Server sonuç satırlarını istemcinin alması için çıktı arabelleklerine yazar ve yavaş tüketen bir istemci sunucuyu bu gönderimde bekletebilir. Bekleme türü ASYNC_NETWORK_IO'dur ve Microsoft'un sorun giderme notu nedenler arasında büyük sonuçları ve istemci tarafı işlemeyi sayar. Bekleme, gönderim yolunun tıkandığını söyler, nedenini değil.

Yavaş bir VPN katkıda bulunabilir, ama her satırı biçimlendiren, dosyaya yazan veya toplu işler arasında duraklayan bir istemci de bulunabilir. Beklemenin adı bir sonraki ölçüme işaret eder, bağlantı hakkında bir hüküm değildir.

SELECT wait_type, wait_time_ms
FROM sys.dm_os_wait_stats
WHERE wait_type = 'ASYNC_NETWORK_IO';

Sayacı boş bir saatten sonra değil, sınırlı iş yükü çalışırken okuyun, çünkü birikimli sayaçlar örnek başladığından beri her oturumu karıştırır. Yaşam boyu toplamı yerine çalışma boyunca deltayı karşılaştırın. Aktarım sırasında büyüyen delta soruyu tüketime veya teslimata daraltır.

İki İstemciyi de Aynı Saate Koyun

Sınırlı bir iş yükünü veritabanına yakın bir istemciden ve uzak istemciden çalıştırın. Sorguyu, parametreleri, sonuç boyutunu ve bağlantı ayarlarını aynı tutun. Her iki tarafta aynı ölçümü kullanın, çünkü sunucu yürütme süresi, ızgara görüntüleme süresi ve dışa aktarma süresi üç farklı saattir. Sunucu tarafındaki bir sayıyı istemci tarafındaki dışa aktarma zamanlayıcısıyla karşılaştırmak test edilemeyecek bir sonuç verir.

Yol sorumlu göründüğünde, ağ sahibinden aktarım sürerken tam o akış için kayıp, yeniden iletim ve elde edilen verimliliği izlemesini isteyin. Genel bir hız testi başka bir rota, uç nokta veya eşzamanlılık deseni kullanabilir. Küçük ve başarılı bir istek, sürekli bir sonuç aktarımı hakkında az şey söyler.

Yolu Suçlamadan Önce Baytları Azaltın

Filtreleme, toplama ve yalnızca gereken sütunları seçme, hem aktarım hacmini hem de istemcinin her satırla yaptığı işi azaltır. Amaçlanan sonucu koruyun, çünkü bir rapor ekrandaki özetin sahip olmadığı ayrıntıya ihtiyaç duyabilir.

Yinelenebilir dışa aktarımlar için veritabanına yakın onaylı bir yürütme konumu tanımlı bir çıktı yazabilir ve bu çıktı sonra bir kez teslim edilir. Bu, iş akışını ve erişim denetimlerini değiştirir ve paylaşılan bir ana bilgisayarda sınırsız bir döküm bırakma izni değildir.

Sıkıştırma varsayılan onarım değildir. Destek ve güvenlik gerçek protokole ve dağıtıma bağlıdır ve istemcinin yavaş açtığı sıkıştırılmış bir akış deneyimi kötüleştirebilir. Önce aşamayı ölçün, sonra o aşama için desteklenen bir değişiklik seçin.

İlgili makaleler