Упити могу да се заврше у милисекундама, а ипак им требају минути да преко VPN-а стигну до преносног рачунара. Сервер уписује редове у бафере, веза их преноси, а клијент их троши, и ове фазе се преклапају уместо да иду редом. Било која од њих може постати ограничење. Пронађите фазу која заиста чека пре него што промените пропусност или укључите компресију.

Три фазе, једна штоперица

Поделите мерач времена на два броја различитог значења: тренутак када је први ред доступан и тренутак када је последњи ред потрошен. Мрежа која исцртава прву страницу доказује само да је упит почео. Време целовитог резултата је оно што корисник доживљава кад извози или се помера до краја.

Запишите оба броја уз текст упита, параметре и поставке везе. Без тог контекста поређење је између два различита посла, а не две локације.

Прочитајте чекање пре мреже

SQL Server уписује редове резултата у излазне бафере да их клијент дохвати, а клијент који троши споро може натерати сервер да чека на то слање. Тип чекања је ASYNC_NETWORK_IO, а Microsoftова белешка за решавање проблема наводи велике резултате и обраду на страни клијента међу узроцима. Чекање каже да је пут слања блокиран, а не зашто.

Спор VPN може допринети, али тако и клијент који обликује сваки ред, записује у датотеку или прави станке између серија. Назив чекања показује на следеће мерење, а није пресуда о вези.

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

Читајте бројач док ограничено оптерећење ради, а не након празног сата, јер кумулативни бројачи мешају сваку сесију од покретања инстанце. Упоредите разлику током извођења, а не укупан збир за цео век. Растућа разлика током преноса сужава питање на потрошњу или испоруку.

Ставите оба клијента на исти сат

Покрените ограничено оптерећење са клијента близу базе података и са удаљеног клијента. Држите упит, параметре, величину резултата и поставке везе идентичнима. Користите исто мерење на обе стране, јер су време извршавања сервера, време приказа мреже и време извоза три различита сата. Поређење броја са серверске стране са мерачем извоза на страни клијента даје закључак који се не може проверити.

Кад пут изгледа одговоран, нека мрежни власник прати губитке, поновна слања и постигнуту пропусност за тај одређени ток док пренос траје. Општи тест брзине може користити другу руту, одредиште или образац паралелности. Мали успешан захтев мало говори о трајном преносу резултата.

Смањите бајтове пре него што окривите пут

Филтрирање, агрегација и избор само потребних колона смањују и обим преноса и рад који клијент обавља са сваким редом. Сачувајте намеравани резултат, јер извештају може требати детаљ који резиме на екрану нема.

За поновљиве извозе одобрено место извршавања близу базе података може записати дефинисан излаз који се затим доставља једном. То мења ток рада и његове контроле приступа, и није дозвола да се неограничени испис остави на дељеном хосту.

Компресија није подразумевани поправак. Подршка и безбедност зависе од стварног протокола и постављања, а компримовани ток који клијент споро распакује може погоршати искуство. Прво измерите фазу, затим изаберите подржану промену за ту фазу.

Повезани чланци