Maaaring matapos ang mga query sa millisecond at tumagal pa rin ng minuto bago makarating sa laptop sa VPN. Nagsusulat ang server ng mga row sa mga buffer, dinadala ng koneksyon ang mga ito, at ginagamit ng client ang mga ito, at nag-o-overlap ang mga yugtong ito sa halip na magkasunod. Alinman sa kanila ang maaaring maging limitasyon. Hanapin ang yugtong talagang naghihintay bago baguhin ang bandwidth o buksan ang compression.

Tatlong Yugto, Isang Stopwatch

Hatiin ang timer sa dalawang numero na may magkaibang kahulugan: ang sandaling available ang unang row at ang sandaling naubos ang huling row. Ang grid na nagpipinta ng unang pahina ay nagpapatunay lamang na nagsimula ang query. Ang oras ng kumpletong resulta ang siyang nararanasan ng user kapag nag-export o nag-scroll hanggang dulo.

Itala ang dalawang numero kasama ang teksto ng query, mga parameter at setting ng koneksyon. Kung wala ang kontekstong iyon, ang paghahambing ay sa pagitan ng dalawang magkaibang trabaho, hindi ng dalawang lokasyon.

Basahin ang Paghihintay Bago ang Network

Nagsusulat ang SQL Server ng mga row ng resulta sa output buffers para kunin ng client, at ang client na mabagal gumamit ay maaaring magpahintay sa server sa pagpapadalang iyon. Ang uri ng paghihintay ay ASYNC_NETWORK_IO, at inililista ng tala ng Microsoft sa pag-troubleshoot ang malalaking resulta at pagproseso sa panig ng client sa mga dahilan. Sinasabi ng paghihintay na naka-block ang daan ng pagpapadala, hindi kung bakit.

Ang mabagal na VPN ay maaaring mag-ambag, ngunit gayundin ang client na nagfo-format sa bawat row, nagsusulat sa file o humihinto sa pagitan ng mga batch. Ang pangalan ng paghihintay ay isang pointer sa susunod na pagsukat, hindi hatol sa link.

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

Basahin ang counter habang tumatakbo ang limitadong workload, hindi pagkatapos ng isang oras na walang ginagawa, dahil hinahalo ng cumulative counters ang bawat session mula nang magsimula ang instance. Ihambing ang delta sa buong run kaysa sa buong buhay na total. Ang lumalaking delta habang naglilipat ay nagpapaliit sa tanong sa paggamit o paghahatid.

Ilagay ang Dalawang Client sa Iisang Orasan

Magpatakbo ng limitadong workload mula sa client na malapit sa database at mula sa remote client. Panatilihing magkapareho ang query, mga parameter, laki ng resulta at setting ng koneksyon. Gamitin ang parehong pagsukat sa magkabilang panig, dahil ang oras ng pagpapatupad ng server, oras ng pagpapakita ng grid at oras ng pag-export ay tatlong magkaibang orasan. Ang paghahambing ng numero sa panig ng server sa timer ng pag-export sa panig ng client ay nagbubunga ng konklusyong hindi masusubukan.

Kapag ang daan ang tila may pananagutan, ipaobserbahan sa may-ari ng network ang pagkalugi, muling pagpapadala at nakamit na throughput para sa partikular na daloy habang tumatakbo ang paglilipat. Ang pangkalahatang speed test ay maaaring gumamit ng ibang ruta, endpoint o pattern ng concurrency. Ang maliit na matagumpay na kahilingan ay kakaunti ang sinasabi tungkol sa tuloy-tuloy na paglilipat ng resulta.

Bawasan ang Bytes Bago Sisihin ang Daan

Ang pag-filter, pag-aggregate at pagpili lamang ng kailangang column ay nagbabawas ng dami ng paglilipat at ng trabahong ginagawa ng client sa bawat row. Panatilihin ang inilaan na resulta, dahil maaaring kailanganin ng ulat ang detalyeng wala sa buod sa screen.

Para sa mga paulit-ulit na pag-export, ang inaprubahang lokasyon ng pagpapatupad na malapit sa database ay maaaring magsulat ng tinukoy na output na ihahatid nang isang beses. Binabago nito ang workflow at ang mga access control nito, at hindi ito pahintulot na mag-iwan ng walang limitasyong dump sa shared host.

Ang compression ay hindi ang default na pag-aayos. Ang suporta at seguridad ay nakadepende sa aktwal na protocol at deployment, at ang compressed stream na mabagal buksan ng client ay maaaring magpalala sa karanasan. Sukatin muna ang yugto, pagkatapos pumili ng sinusuportahang pagbabago para sa yugtong iyon.

Kaugnay na mga artikulo