VPN ਰਾਹੀਂ ਵੱਡਾ SQL ਨਤੀਜਾ: ਕਤਾਰਾਂ ਕਿੱਥੇ ਉਡੀਕਦੀਆਂ ਹਨ
ਵੱਡਾ SQL ਨਤੀਜਾ ਤਿੰਨ ਥਾਵਾਂ ’ਤੇ ਉਡੀਕਦਾ ਹੈ: ਸਰਵਰ ਬਫ਼ਰ, VPN ਰਾਹ ਅਤੇ ਕਲਾਇੰਟ। ਬੈਂਡਵਿਡਥ ਬਦਲਣ ਜਾਂ ਕੰਪਰੈਸ਼ਨ ਚਾਲੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਪੜਾਅ ਮਾਪੋ।
ਕਿਊਰੀਆਂ ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ ਪੂਰੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਫਿਰ ਵੀ 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';
ਸੀਮਿਤ ਵਰਕਲੋਡ ਚੱਲਦੇ ਸਮੇਂ ਕਾਊਂਟਰ ਪੜ੍ਹੋ, ਖਾਲੀ ਘੰਟੇ ਤੋਂ ਬਾਅਦ ਨਹੀਂ, ਕਿਉਂਕਿ ਸੰਚਿਤ ਕਾਊਂਟਰ ਇੰਸਟੈਂਸ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਦੇ ਹਰ ਸੈਸ਼ਨ ਨੂੰ ਮਿਲਾ ਦਿੰਦੇ ਹਨ। ਜੀਵਨ ਭਰ ਦੇ ਕੁੱਲ ਦੀ ਬਜਾਏ ਦੌੜ ਦੌਰਾਨ ਡੈਲਟਾ ਦੀ ਤੁਲਨਾ ਕਰੋ। ਟ੍ਰਾਂਸਫ਼ਰ ਦੌਰਾਨ ਵਧਦਾ ਡੈਲਟਾ ਸਵਾਲ ਨੂੰ ਖਪਤ ਜਾਂ ਡਿਲੀਵਰੀ ਤੱਕ ਸੀਮਿਤ ਕਰਦਾ ਹੈ।
ਦੋਵੇਂ ਕਲਾਇੰਟ ਇੱਕੋ ਘੜੀ ’ਤੇ ਰੱਖੋ
ਡੇਟਾਬੇਸ ਦੇ ਨੇੜੇ ਕਲਾਇੰਟ ਤੋਂ ਅਤੇ ਦੂਰ ਕਲਾਇੰਟ ਤੋਂ ਸੀਮਿਤ ਵਰਕਲੋਡ ਚਲਾਓ। ਕਿਊਰੀ, ਪੈਰਾਮੀਟਰ, ਨਤੀਜੇ ਦਾ ਆਕਾਰ ਅਤੇ ਕਨੈਕਸ਼ਨ ਸੈਟਿੰਗਾਂ ਇੱਕੋ ਜਿਹੀਆਂ ਰੱਖੋ। ਦੋਵਾਂ ਪਾਸਿਆਂ ’ਤੇ ਇੱਕੋ ਮਾਪ ਵਰਤੋ, ਕਿਉਂਕਿ ਸਰਵਰ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਸਮਾਂ, ਗਰਿੱਡ ਦਿਖਾਉਣ ਦਾ ਸਮਾਂ ਅਤੇ ਐਕਸਪੋਰਟ ਸਮਾਂ ਤਿੰਨ ਵੱਖਰੀਆਂ ਘੜੀਆਂ ਹਨ। ਸਰਵਰ-ਪਾਸੇ ਦੀ ਸੰਖਿਆ ਦੀ ਤੁਲਨਾ ਕਲਾਇੰਟ-ਪਾਸੇ ਦੇ ਐਕਸਪੋਰਟ ਟਾਈਮਰ ਨਾਲ ਕਰਨ ’ਤੇ ਅਜਿਹਾ ਸਿੱਟਾ ਨਿਕਲਦਾ ਹੈ ਜਿਸ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।
ਜਦੋਂ ਰਾਹ ਜ਼ਿੰਮੇਵਾਰ ਲੱਗੇ, ਤਾਂ ਨੈੱਟਵਰਕ ਮਾਲਕ ਨੂੰ ਕਹੋ ਕਿ ਟ੍ਰਾਂਸਫ਼ਰ ਚੱਲਦੇ ਸਮੇਂ ਉਸ ਖ਼ਾਸ ਪ੍ਰਵਾਹ ਲਈ ਨੁਕਸਾਨ, ਮੁੜ-ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਥ੍ਰੂਪੁੱਟ ਦੇਖੇ। ਆਮ ਗਤੀ ਟੈਸਟ ਕੋਈ ਹੋਰ ਰਸਤਾ, ਐਂਡਪੁਆਇੰਟ ਜਾਂ ਸਮਕਾਲੀ ਪੈਟਰਨ ਵਰਤ ਸਕਦਾ ਹੈ। ਛੋਟੀ ਸਫਲ ਬੇਨਤੀ ਲਗਾਤਾਰ ਨਤੀਜਾ ਟ੍ਰਾਂਸਫ਼ਰ ਬਾਰੇ ਘੱਟ ਕਹਿੰਦੀ ਹੈ।
ਰਾਹ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਬਾਈਟ ਘਟਾਓ
ਫਿਲਟਰਿੰਗ, ਇਕੱਠਾ ਕਰਨਾ ਅਤੇ ਸਿਰਫ਼ ਲੋੜੀਂਦੇ ਕਾਲਮ ਚੁਣਨਾ ਟ੍ਰਾਂਸਫ਼ਰ ਦੀ ਮਾਤਰਾ ਅਤੇ ਹਰ ਕਤਾਰ ਨਾਲ ਕਲਾਇੰਟ ਦੇ ਕੰਮ ਦੋਵੇਂ ਘਟਾਉਂਦਾ ਹੈ। ਇਛਿਤ ਨਤੀਜਾ ਸੰਭਾਲੋ, ਕਿਉਂਕਿ ਰਿਪੋਰਟ ਨੂੰ ਅਜਿਹਾ ਵੇਰਵਾ ਚਾਹੀਦਾ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਸਕ੍ਰੀਨ ਦੇ ਸਾਰ ਵਿੱਚ ਨਹੀਂ ਹੈ।
ਦੁਹਰਾਉਣਯੋਗ ਐਕਸਪੋਰਟਾਂ ਲਈ, ਡੇਟਾਬੇਸ ਦੇ ਨੇੜੇ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਥਾਂ ਪਰਿਭਾਸ਼ਿਤ ਆਉਟਪੁੱਟ ਲਿਖ ਸਕਦਾ ਹੈ, ਜੋ ਫਿਰ ਇੱਕ ਵਾਰ ਪਹੁੰਚਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਵਰਕਫ਼ਲੋ ਅਤੇ ਉਸ ਦੇ ਐਕਸੈਸ ਨਿਯੰਤਰਣ ਬਦਲਦਾ ਹੈ, ਅਤੇ ਸਾਂਝੇ ਹੋਸਟ ’ਤੇ ਬਿਨਾਂ ਪਾਬੰਦੀ ਦੇ ਡੰਪ ਛੱਡਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।
ਕੰਪਰੈਸ਼ਨ ਡਿਫ਼ਾਲਟ ਉਪਾਅ ਨਹੀਂ ਹੈ। ਸਹਾਇਤਾ ਅਤੇ ਸੁਰੱਖਿਆ ਅਸਲ ਪ੍ਰੋਟੋਕਾਲ ਅਤੇ ਤੈਨਾਤੀ ’ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ, ਅਤੇ ਕਲਾਇੰਟ ਜਿਸ ਨੂੰ ਹੌਲੀ ਖੋਲ੍ਹਦਾ ਹੈ ਉਹ ਸੰਕੁਚਿਤ ਸਟ੍ਰੀਮ ਤਜਰਬਾ ਹੋਰ ਖ਼ਰਾਬ ਕਰ ਸਕਦੀ ਹੈ। ਪਹਿਲਾਂ ਪੜਾਅ ਮਾਪੋ, ਫਿਰ ਉਸ ਪੜਾਅ ਲਈ ਸਮਰਥਿਤ ਬਦਲਾਅ ਚੁਣੋ।