Հարցումները կարող են ավարտվել միլիվայրկյաններում և այնուամենայնիվ րոպեներ պահանջել 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';

Կարդացեք հաշվիչը սահմանափակ բեռնվածքի ընթացքում, ոչ թե պարապ ժամից հետո, քանի որ կուտակային հաշվիչները խառնում են բոլոր սեսիաները օրինակի մեկնարկից ի վեր։ Համեմատեք դելտան ընթացքի ողջ տևողությամբ, ոչ թե կյանքի ընդհանուր գումարը։ Փոխանցման ընթացքում աճող դելտան հարցը սեղմում է սպառման կամ առաքման։

Դրեք երկու կլիենտներն էլ նույն ժամացույցի վրա

Գործարկեք սահմանափակ բեռնվածք տվյալների բազային մոտ կլիենտից և հեռավոր կլիենտից։ Պահեք հարցումը, պարամետրերը, արդյունքի չափը և կապի կարգավորումները նույնը։ Օգտագործեք նույն չափումը երկու կողմերում, քանի որ սերվերի կատարման ժամանակը, ցանցի ցուցադրման ժամանակը և արտահանման ժամանակը երեք տարբեր ժամացույցներ են։ Սերվերի կողմի թիվը կլիենտի կողմի արտահանման ժամաչափի հետ համեմատելը տալիս է եզրակացություն, որը հնարավոր չէ ստուգել։

Երբ ուղին պատասխանատու է թվում, խնդրեք ցանցի սեփականատիրոջը հետևել կորուստներին, վերահաղորդումներին և ձեռք բերված թողունակությանը հենց այդ հոսքի համար, մինչ փոխանցումը ընթանում է։ Ընդհանուր արագության թեստը կարող է օգտագործել այլ երթուղի, վերջնակետ կամ զուգահեռականության ձև։ Փոքր հաջող հարցումը քիչ է ասում կայուն արդյունքի փոխանցման մասին։

Կրճատեք բայթերը նախքան ուղին մեղադրելը

Զտումը, համախմբումը և միայն անհրաժեշտ սյունակների ընտրությունը նվազեցնում են և՛ փոխանցման ծավալը, և՛ այն աշխատանքը, որ կլիենտը կատարում է յուրաքանչյուր տողի հետ։ Պահպանեք նախատեսված արդյունքը, քանի որ հաշվետվությունը կարող է պահանջել մանրամասնություն, որը էկրանի ամփոփումը չունի։

Կրկնվող արտահանումների համար տվյալների բազային մոտ հաստատված կատարման վայրը կարող է գրել սահմանված ելք, որն այնուհետև առաքվում է մեկ անգամ։ Դա փոխում է աշխատահոսքը և դրա մուտքի վերահսկումը, և դա թույլտվություն չէ անսահմանափակ dump թողնելու համօգտագործվող հոսթի վրա։

Սեղմումը լռելյայն շտկում չէ։ Աջակցությունն ու անվտանգությունը կախված են փաստացի արձանագրությունից և տեղակայումից, և սեղմված հոսքը, որը կլիենտը դանդաղ է բացում, կարող է վատթարացնել փորձը։ Նախ չափեք փուլը, ապա ընտրեք աջակցվող փոփոխություն այդ փուլի համար։

Առնչվող հոդվածներ