ਤੇਜ਼ VPN ਵੀ ਸਿੰਕ੍ਰੋਨਸ SQL ਕਮਿਟ ਨੂੰ ਹੌਲੀ ਕਿਉਂ ਕਰਦਾ ਹੈ
ਕਮਿਟ ਸਿੰਕ੍ਰੋਨਸ ਰੈਪਲਿਕਾ ਵੱਲ ਇਮਾਰਤ ਛੱਡਦਾ ਹੈ। ਪ੍ਰਤੀਕਖਾ ਕਿਸਮ ਤੋਂ ਭੇਜਣ ਅਤੇ redo ਕਤਾਰਾਂ ਤੱਕ ਜਾਓ, ਫਿਰ ਤੈਅ ਕਰੋ ਕਿ ਅਸਿੰਕ੍ਰੋਨਸ ਸਹੀ ਸੌਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।
ਪ੍ਰਾਇਮਰੀ ਉੱਤੇ ਕੁਐਰੀ ਸੈਸ਼ਨ ਖੋਲ੍ਹੋ ਅਤੇ ਵੇਖੋ ਕਿ ਸਧਾਰਨ ਲਿਖਤ ਕਿਸ ਦੀ ਉਡੀਕ ਕਰ ਰਹੀ ਹੈ। ਜੇ ਡੇਟਾਬੇਸ ਸਿੰਕ੍ਰੋਨਸ ਕਮਿਟ ਵਾਲੇ ਉਪਲਬਧਤਾ ਸਮੂਹ ਦਾ ਹੈ ਅਤੇ ਦੂਜਾ ਜੁੜਿਆ ਹੋਇਆ ਹੈ, ਤਾਂ ਉਸ ਉਡੀਕ ਦਾ ਕੁਝ ਹਿੱਸਾ ਇਮਾਰਤ ਛੱਡਦਾ ਹੈ: ਲੌਗ ਰਿਕਾਰਡ ਰੈਪਲਿਕਾ ਵੱਲ ਜਾਂਦੇ ਹਨ, ਉੱਥੇ ਸਖ਼ਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਉਸ ਸਖ਼ਤੀ ਦੀ ਖ਼ਬਰ ਕਮਿਟ ਪੂਰਾ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਵਾਪਸ ਆਉਂਦੀ ਹੈ। ਬੈਂਡਵਿਡਥ ਉਸ ਆਉਣ-ਜਾਣ ਨੂੰ ਛੋਟਾ ਨਹੀਂ ਕਰਦੀ। ਹੇਠਾਂ ਦਿੱਤਾ ਵੇਰਵਾ ਸਕ੍ਰੀਨ ਤੋਂ ਦੂਰ ਦੀ ਡਿਸਕ ਤੱਕ ਅਤੇ ਵਾਪਸ ਆਉਣ ਵਾਲੀ ਪ੍ਰਵਾਨਗੀ ਦਾ ਪਿੱਛਾ ਕਰਦਾ ਹੈ।
ਪ੍ਰਾਇਮਰੀ ਉੱਤੇ ਪ੍ਰਤੀਕਖਾ ਕਿਸਮ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ
ਦੂਰ ਦੀ ਰੈਪਲਿਕਾ ਉੱਤੇ ਉਡੀਕ ਰਹੀ ਲਿਖਤ CPU ਜਾਂ ਲਾਕ ਉਡੀਕ ਨਹੀਂ, ਸਗੋਂ ਲੌਗ ਨਾਲ ਸੰਬੰਧਿਤ ਉਡੀਕ ਵਜੋਂ ਦਿਖਦੀ ਹੈ, ਅਤੇ ਲੈਣ-ਦੇਣ ਦੀ ਮਿਆਦ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਥਾਂ ਆਉਣ-ਜਾਣ ਦਾ ਪਿੱਛਾ ਕਰਦੀ ਹੈ। ਬਹੁਤ ਸਾਰੇ ਛੋਟੇ ਕਮਿਟ ਇਸ ਨੂੰ ਸਪਸ਼ਟ ਕਰਦੇ ਹਨ, ਕਿਉਂਕਿ ਹਰ ਇੱਕ ਯਾਤਰਾ ਦਾ ਖ਼ਰਚਾ ਵੱਖਰਾ ਕਰਦਾ ਹੈ। ਇੱਕ ਵੱਡਾ ਬੈਚ ਓਪਰੇਸ਼ਨ ਉਹੀ ਲਾਗਤ ਇੱਕ ਲੰਮੀ ਪ੍ਰਵਾਨਗੀ ਵਿੱਚ ਲੁਕਾ ਦਿੰਦਾ ਹੈ।
ਲਿੰਕ ਬਾਰੇ ਕੋਈ ਵੀ ਸਿੱਟਾ ਕੱਢਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣਾ ਕੰਮ ਦਾ ਭਾਰ ਕਮਿਟ ਆਵਿਰਤੀ ਅਨੁਸਾਰ ਕ੍ਰਮਬੱਧ ਕਰੋ।
ਨੈੱਟਵਰਕ ਪੜ੍ਹਨ ਤੋਂ ਪਹਿਲਾਂ ਰੈਪਲਿਕਾ ਦੀ ਸਥਿਤੀ ਪੜ੍ਹੋ। ਮਹੱਤਵਪੂਰਨ ਗਿਣਤੀਕਾਰ ਭੇਜਣ ਦੀ ਕਤਾਰ, redo ਕਤਾਰ ਅਤੇ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਸਥਿਤੀ ਹਨ, ਅਤੇ ਇਹ ਮਿਲ ਕੇ ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਦੂਜਾ ਨਾਲ ਚੱਲ ਰਿਹਾ ਹੈ ਜਾਂ ਪਿੱਛੇ ਰਹਿ ਰਿਹਾ ਹੈ। ਵਧਦੀ ਭੇਜਣ ਦੀ ਕਤਾਰ ਆਵਾਜਾਈ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਜਦਕਿ ਵਧਦੀ redo ਕਤਾਰ ਦੂਜੇ ਦੇ ਆਪਣੇ ਕੰਮ ਜਾਂ ਭੰਡਾਰਨ ਵੱਲ। ਇਹ ਵੱਖਰੀਆਂ ਮੁਰੰਮਤਾਂ ਹਨ, ਅਤੇ ਬੈਂਡਵਿਡਥ ਜੋੜਨ ਨਾਲ ਕੋਈ ਵੀ ਸੁਧਰਦੀ ਨਹੀਂ।
ਪ੍ਰਵਾਨਗੀ ਦਾ ਦੂਜੇ ਤੱਕ ਪਿੱਛਾ ਕਰੋ
ਸਿੰਕ੍ਰੋਨਸ ਕਮਿਟ ਵਿੱਚ ਪ੍ਰਾਇਮਰੀ ਕਮਿਟ ਨੂੰ ਪੂਰਾ ਐਲਾਨਣ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਪੁਸ਼ਟੀ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ ਕਿ ਸੰਬੰਧਿਤ ਲੌਗ ਦੂਜੇ ਉੱਤੇ ਸਖ਼ਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਸਖ਼ਤ ਦਾ ਮਤਲਬ ਲੌਗ ਵਿੱਚ ਟਿਕਾਊ, ਡੇਟਾ ਪੰਨਿਆਂ ਵਿੱਚ ਦੁਬਾਰਾ ਚਲਾਇਆ ਨਹੀਂ। ਇਹੀ ਫ਼ਰਕ ਦੱਸਦਾ ਹੈ ਕਿ ਸਿੰਕ੍ਰੋਨਸ ਦੂਜਾ redo ਵਿੱਚ ਪਿੱਛੇ ਹੋਂਦਿਆਂ ਵੀ ਸਖ਼ਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਿਉਂ ਕਰ ਸਕਦਾ ਹੈ।
ਰਾਹ ਕ੍ਰਮ ਵਿੱਚ ਤੁਰੋ ਅਤੇ ਸਮੁੱਚ ਦੀ ਥਾਂ ਹਰ ਪੜਾਅ ਮਾਪੋ। ਲੌਗ ਰਿਕਾਰਡ ਆਵਾਜਾਈ ਵਿੱਚੋਂ ਲੰਘਦੇ ਹਨ, ਦੂਜਾ ਉਨ੍ਹਾਂ ਨੂੰ ਲਿਖਦਾ ਅਤੇ ਫਲੈਸ਼ ਕਰਦਾ ਹੈ, ਅਤੇ ਪ੍ਰਵਾਨਗੀ ਉਸੇ ਰਾਹ ਵਾਪਸ ਆਉਂਦੀ ਹੈ। ਆਵਾਜਾਈ ਦੇਰੀ, ਦੂਜੇ ਦੀ ਸ਼ਡਿਊਲਿੰਗ ਅਤੇ ਦੂਜੇ ਦੀ ਲੌਗ-ਡਿਸਕ ਲੈਟੈਂਸੀ ਸਭ ਕੁੱਲ ਵਿੱਚ ਆਉਂਦੀਆਂ ਹਨ, ਅਤੇ ਸਿਰਫ਼ ਪਹਿਲੀ ਨੈੱਟਵਰਕ ਮਾਲਕ ਦੀ ਹੈ। ਜਿਸ ਦੂਜੇ ਦਾ ਲੌਗ ਆਇਤਨ ਕਿਸੇ ਹੋਰ ਚੀਜ਼ ਨਾਲ ਭਰਿਆ ਹੈ, ਉਹ ਲਿੰਕ ਖਾਲੀ ਹੋਣ ਪਰ ਹਰ ਕਮਿਟ ਖਿੱਚ ਸਕਦਾ ਹੈ।
SELECT ag.name AS ag_name, drs.database_id, drs.synchronization_state_desc,
drs.log_send_queue_size, drs.redo_queue_size
FROM sys.dm_hadr_database_replica_states AS drs
JOIN sys.availability_groups AS ag ON ag.group_id = drs.group_id;ਸ਼ਾਂਤ ਦੁਪਹਿਰ ਇੱਕ ਵਾਰ ਦੀ ਥਾਂ ਪ੍ਰਤੀਨਿਧ ਲਿਖਤ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਉਹ ਸਨੈਪਸ਼ਾਟ ਲਵੋ। ਫ਼ਰਕ ਹੀ ਦੱਸਦਾ ਹੈ ਕਿ ਕਮਿਟ ਉਡੀਕਦਿਆਂ ਕਿਹੜੀ ਕਤਾਰ ਹਿਲੀ।
ਲਿੰਕ ਨਹੀਂ, ਰਾਹ ਮਾਪੋ
ਥ੍ਰੂਪੁਟ ਟੈਸਟ ਤੁਹਾਡੀਆਂ ਰੈਪਲਿਕਾ ਨਾ ਹੋਣ ਵਾਲੀਆਂ ਦੋ ਜਗ੍ਹਾਵਾਂ ਵਿਚਕਾਰ ਸਮਰੱਥਾ ਨੂੰ ਤੁਹਾਡਾ ਕੰਮ ਨਾ ਹੋਣ ਵਾਲੇ ਭਾਰ ਹੇਠ ਮਾਪਦਾ ਹੈ। ਨੈੱਟਵਰਕ ਮਾਲਕ ਨੂੰ ਅਸਲ ਰੈਪਲਿਕਾ ਰਾਹ ਉੱਤੇ ਅਸਲ ਟ੍ਰੈਫਿਕ ਚੱਲਦਿਆਂ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਦੇਰੀ ਅਤੇ ਨੁਕਸਾਨ ਮੰਗੋ। ਇੱਥੇ ਨੁਕਸਾਨ ਸਮਰੱਥਾ ਨਾਲੋਂ ਵੱਧ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਕਿਉਂਕਿ ਗੁਆਚੇ ਹਿੱਸੇ ਲਈ ਮੁੜ ਪ੍ਰਸਾਰਣ ਦਾ ਖ਼ਰਚਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਹਰ ਕਮਿਟ ਇੱਕ ਪ੍ਰਵਾਨਗੀ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ। ਡਾਊਨਲੋਡ ਟੈਸਟ ਵਿੱਚ ਸ਼ਾਨਦਾਰ ਦਿਖਣ ਵਾਲਾ ਲਿੰਕ ਵੀ ਬੋਲਣ ਵਾਲੇ ਕਮਿਟ ਨਮੂਨੇ ਲਈ ਅਣਉਚਿਤ ਹੋ ਸਕਦਾ ਹੈ।
ਮਾਪਦਿਆਂ ਡੇਟਾਬੇਸ ਆਵਾਜਾਈ ਸੁਰੱਖਿਆ ਅਤੇ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਅਟੁੱਟ ਰੱਖੋ। ਰਾਹ ਮਾਪਣਾ ਉਨ੍ਹਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਦਾ ਕਾਰਨ ਕਦੇ ਨਹੀਂ।
ਸਮਿਆਂ ਨੂੰ ਅੰਤਰਗਿਆਨ ਦੀ ਥਾਂ ਗਿਣਤੀਕਾਰਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਕਰੋ। ਜੇ ਭੇਜਣ ਦੀ ਕਤਾਰ ਖਾਲੀ ਰਹੇ ਅਤੇ ਕਮਿਟ ਅਜੇ ਵੀ ਉਡੀਕ ਕਰੇ, ਤਾਂ ਦੇਰੀ ਪ੍ਰਵਾਨਗੀ ਵਿੱਚ ਜਾਂ ਦੂਜੇ ਦੇ ਫਲੈਸ਼ ਵਿੱਚ ਹੈ। ਜੇ ਭੇਜਣ ਦੀ ਕਤਾਰ ਲਗਾਤਾਰ ਵਧੇ, ਤਾਂ ਸੀਮਾ ਆਵਾਜਾਈ ਜਾਂ ਸਮਰੱਥਾ ਹੈ। ਕਿਹੜੇ ਨਿਰੀਖਣ ਨੇ ਸਿੱਟੇ ਦਾ ਸਮਰਥਨ ਕੀਤਾ ਲਿਖੋ, ਤਾਂ ਜੋ ਅਗਲਾ ਵਿਅਕਤੀ ਬਹਿਸ ਦੀ ਥਾਂ ਮਾਪ ਦੁਹਰਾ ਸਕੇ।
ਅਸਿੰਕ੍ਰੋਨਸ ਮੋਡ ਅਸਲ ਵਿੱਚ ਕੀ ਬਦਲਦਾ ਹੈ
ਅਸਿੰਕ੍ਰੋਨਸ ਕਮਿਟ ਦੂਜੇ ਦੀ ਸਖ਼ਤੀ-ਪ੍ਰਵਾਨਗੀ ਦੀ ਉਡੀਕ ਹਟਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਲਿਖਤ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ ਅਤੇ ਇਸ ਲਈ ਤੁਹਾਡੀ ਟਿਕਾਊ ਸਥਿਤੀ ਬਦਲਦੀ ਹੈ। ਪ੍ਰਾਇਮਰੀ ਉਸ ਦੂਰ ਦੀ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਲੈਣ-ਦੇਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਫਿਰ ਦੂਜੇ ਨੂੰ ਪਿੱਛੇ ਰਹਿਣ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਉਹੀ ਪਿੱਛੇ ਰਹਿਣਾ ਜੋਖਮ ਹੈ।
ਜੇ ਲੌਗ ਵਰਤੋਂਯੋਗ ਫੇਲਓਵਰ ਟਾਰਗੇਟ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰਾਇਮਰੀ ਗੁਆਚ ਜਾਵੇ, ਤਾਂ ਉਸ ਰੈਪਲਿਕਾ ਉੱਤੇ ਸੇਵਾ ਜ਼ਬਰਦਸਤੀ ਭੇਜਣਾ ਉਨ੍ਹਾਂ ਲੈਣ-ਦੇਣਾਂ ਨੂੰ ਸੁੱਟ ਦਿੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਬਾਰੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਕਮਿਟ ਹੋਣ ਦੱਸਿਆ ਗਿਆ ਸੀ।
ਇਹ ਰਿਕਵਰੀ-ਪੁਆਇੰਟ ਫ਼ੈਸਲਾ ਹੈ ਅਤੇ ਇਹ ਡੇਟਾਬੇਸ ਮਾਲਕ ਦਾ ਹੈ, ਪ੍ਰਦਰਸ਼ਨ ਸਮੀਖਿਆ ਦਾ ਨਹੀਂ। ਪਹਿਲਾਂ ਸਹਿਣਯੋਗ ਡੇਟਾ-ਨੁਕਸਾਨ ਵਿੰਡੋ ਤੈਅ ਕਰੋ, ਉਸ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਲਾ ਮੋਡ ਚੁਣੋ, ਫਿਰ ਉਸੇ ਸੀਮਾ ਅੰਦਰ ਅਨੁਕੂਲਨ ਕਰੋ। ਸਿੰਕ੍ਰੋਨਸ ਸੁਰੱਖਿਆ ਬਣਾਈ ਰੱਖਣ ਵਾਲੇ ਵਿਕਲਪਾਂ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਜਿੱਥੇ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਉੱਥੇ ਟਾਲੇ ਜਾ ਸਕਣ ਵਾਲੇ ਕਮਿਟ ਚੱਕਰ ਹਟਾਉਣਾ, ਮਾਪਿਆ ਗਿਆ ਆਵਾਜਾਈ ਜਾਂ ਭੰਡਾਰਨ ਰੁਕਾਵਟ ਠੀਕ ਕਰਨਾ, ਅਤੇ ਪ੍ਰਵਾਨਗੀ ਘੱਟ ਦੂਰੀ ਤੈਅ ਕਰੇ ਇਸ ਲਈ ਰੈਪਲਿਕਾ ਹਿਲਾਉਣਾ ਸ਼ਾਮਲ ਹੈ। ਜੋ ਟਿਕਾਊਪਨ ਲੋੜ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕੀਤੀ ਸੀ ਅਤੇ ਜੋ ਬਦਲੀ ਨਹੀਂ, ਉਸ ਦੇ ਮੁਕਾਬਲੇ ਇਨ੍ਹਾਂ ਨੂੰ ਤੋਲੋ।