OpenVPN ਟ੍ਰੈਫਿਕ ਕਾਊਂਟਰ ਬਨਾਮ ਡਿਸਕ I/O: ਤਿੰਨ ਵੱਖਰੀਆਂ ਸੰਖਿਆਵਾਂ
ਇੰਟਰਫੇਸ ਦੇ ਬਾਈਟ, ਪ੍ਰਕਿਰਿਆ ਦੇ ਅੱਖਰ ਕਾਊਂਟਰ ਅਤੇ ਸਟੋਰੇਜ ਲਿਖਤਾਂ ਵੱਖਰਾ ਕੰਮ ਮਾਪਦੇ ਹਨ। ਟਨਲ ਦੀ ਮਾਤਰਾ ਤੋਂ ਡਿਸਕ ਦਾ ਆਕਾਰ ਤੈਅ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਹਨਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ।
ਇੱਕ ਵੱਡੀ ਫਾਈਲ ਟਨਲ ਵਿੱਚੋਂ ਲੰਘਾਓ ਅਤੇ ਇੰਟਰਫੇਸ ਕਾਊਂਟਰ ਫਾਈਲ ਦੇ ਆਕਾਰ ਜਿੰਨਾ ਵੱਧ ਜਾਂਦਾ ਹੈ। ਉਸ ਸੰਖਿਆ ਵਿੱਚ ਅਜਿਹਾ ਕੁਝ ਨਹੀਂ ਜੋ ਕਹੇ ਕਿ ਉਹੀ ਮਾਤਰਾ ਕਿਸੇ ਡਿਸਕ ਤੱਕ ਪਹੁੰਚੀ। ਇਹਨਾਂ ਚਰਚਾਵਾਂ ਵਿੱਚ ਤਿੰਨ ਵੱਖਰੇ ਮਾਪ ਤੁਲਨਾ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਉਹ ਤਿੰਨ ਵੱਖਰੇ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦਿੰਦੇ ਹਨ: ਕਿੰਨਾ ਟ੍ਰੈਫਿਕ ਨੈੱਟਵਰਕ ਪਰਤ ਨੂੰ ਪਾਰ ਕਰ ਗਿਆ, ਇੱਕ ਪ੍ਰਕਿਰਿਆ ਨੇ ਸਿਸਟਮ ਕਾਲ ਰਾਹੀਂ ਕਿੰਨੇ ਬਾਈਟ ਪੜ੍ਹੇ ਅਤੇ ਲਿਖੇ, ਅਤੇ ਕਿੰਨਾ ਕੰਮ ਸਟੋਰੇਜ ਪਰਤ ਤੱਕ ਪਹੁੰਚਿਆ।
ਪਹਿਲੇ ਦੀ ਤੀਜੇ ਨਾਲ ਤੁਲਨਾ ਕਰਨਾ ਆਮ ਗਲਤੀ ਹੈ, ਅਤੇ ਇਸ ਨਾਲ ਜਾਂ ਤਾਂ ਡਿਸਕ ਦੀ ਭੁਤ ਸਮੱਸਿਆ ਬਣਦੀ ਹੈ ਜਾਂ ਅਜਿਹੀ ਸਮਰੱਥਾ ਯੋਜਨਾ ਬਣਦੀ ਹੈ ਜੋ ਸੱਚਮੁੱਚ ਹੋਣ ਵਾਲੀਆਂ ਲਿਖਤਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦੀ ਹੈ। ਤਿੰਨੇ ਵੱਖ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ, ਅਤੇ ਹਰੇਕ ਦਾ ਸਹੀ ਉਪਯੋਗ ਹੈ।
ਤਿੰਨ ਸੰਖਿਆਵਾਂ ਜੋ ਰਲਗੱਡ ਹੋ ਜਾਂਦੀਆਂ ਹਨ
ਇੰਟਰਫੇਸ ਕਾਊਂਟਰ ਨੈੱਟਵਰਕ ਪਰਤ ਉੱਤੇ ਸੰਭਾਲੇ ਜਾਂਦੇ ਟ੍ਰੈਫਿਕ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ। ਬੈਂਡਵਿਡਥ, ਟਨਲ ਦੇ ਆਕਾਰ ਅਤੇ ਟ੍ਰਾਂਜ਼ਿਟ ਦੀ ਕੀਮਤ ਤੈਅ ਕਰਨ ਵਾਲੇ ਬਿਲਿੰਗ ਮਾਡਲਾਂ ਲਈ ਇਹੀ ਸਹੀ ਸੰਖਿਆ ਹੈ।
ਪ੍ਰਕਿਰਿਆ ਦੇ ਅੱਖਰ ਕਾਊਂਟਰ ਪਾਈਪ, ਟਰਮੀਨਲ ਅਤੇ ਅੱਖਰ ਜੰਤਰਾਂ ਸਮੇਤ ਕਿਸੇ ਵੀ ਡਿਸਕ੍ਰਿਪਟਰ ਉੱਤੇ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਦੇ ਕਾਲ ਰਾਹੀਂ ਹਿਲੇ ਬਾਈਟ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ। ਸਿਸਟਮ ਕਾਲ ਦੀ ਹੱਦ ਉੱਤੇ ਪ੍ਰਕਿਰਿਆ ਕਿੰਨੀ ਰੁੱਝੀ ਹੈ ਇਹ ਪੁੱਛਣ ਲਈ ਇਹੀ ਸਹੀ ਸੰਖਿਆ ਹੈ, ਅਤੇ ਇਹ ਸਟੋਰੇਜ ਦਾ ਬਿੱਲ ਨਹੀਂ।
ਸਟੋਰੇਜ ਕਾਊਂਟਰ ਉਹ ਬਾਈਟ ਦੱਸਦੇ ਹਨ ਜੋ ਕਰਨਲ ਨੇ ਬਲਾਕ ਜੰਤਰ ਵੱਲ ਜਾਂ ਉੱਥੋਂ ਹਿਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਸਮਰੱਥਾ ਯੋਜਨਾ ਲਈ ਇਹੀ ਸਹੀ ਸੰਖਿਆ ਹੈ, ਪਰ ਇਸ ਸ਼ਰਤ ਨਾਲ ਕਿ ਕਰਨਲ ਆਪਣੀਆਂ ਹਿਸਾਬ ਦੀਆਂ ਹੱਦਾਂ ਦਰਜ ਕਰਦਾ ਹੈ: ਕੈਸ਼ ਕੀਤੀਆਂ ਪੜ੍ਹਤਾਂ ਸਟੋਰੇਜ ਪੜ੍ਹਤਾਂ ਨਹੀਂ ਬਣਦੀਆਂ, ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਰੱਦ ਹੋਈ ਲਿਖਤ ਪੂਰੀ ਹੋਈ ਜੰਤਰ ਲਿਖਤ ਨਹੀਂ ਬਣਦੀ।
| Measurement | Question it answers |
|---|---|
| Interface bytes | How much traffic crossed this layer |
rchar and wchar | How much data the process moved through system calls |
read_bytes and write_bytes | How much work reached the storage layer |
ਫਾਈਲ ਡਿਸਕ੍ਰਿਪਟਰ ਡਿਸਕ ਲਿਖਤ ਕਿਉਂ ਨਹੀਂ ਹੈ
ਵਰਤੋਂਕਾਰ ਥਾਂ ਦਾ VPN TUN ਜੰਤਰ ਰਾਹੀਂ ਕਰਨਲ ਨਾਲ ਪੈਕਟ ਸਾਂਝੇ ਕਰਦਾ ਹੈ, ਜੋ ਆਮ ਫਾਈਲ ਨਹੀਂ ਸਗੋਂ ਅੱਖਰ ਜੰਤਰ ਹੈ। ਉਸ ਵਿੱਚੋਂ ਪੜ੍ਹਨਾ ਇੱਕ ਪੈਕਟ ਸੌਂਪਦਾ ਹੈ; ਉਸ ਵਿੱਚ ਲਿਖਣਾ ਇੱਕ ਪੈਕਟ ਪਾਉਂਦਾ ਹੈ। ਸਟੋਰੇਜ ਲਈ ਤਿਆਰ ਕੀਤੇ ਫਾਈਲ ਸਮੱਗਰੀ ਦਾ ਕੋਈ ਪੰਨਾ ਨਹੀਂ, ਅਤੇ ਕੋਈ ਫਾਈਲਸਿਸਟਮ ਰਾਹ ਸ਼ਾਮਲ ਨਹੀਂ।
ਇਸੇ ਲਈ ਰੁੱਝਿਆ ਟਨਲ ਲਗਭਗ ਕੋਈ ਸਟੋਰੇਜ ਕਾਊਂਟਰ ਤੋਂ ਬਿਨਾਂ ਵਿਸ਼ਾਲ ਅੱਖਰ ਕਾਊਂਟਰ ਦਿਖਾ ਸਕਦਾ ਹੈ। ਪ੍ਰਕਿਰਿਆ ਨੇ ਉਹ ਬਾਈਟ ਸੱਚਮੁੱਚ ਹਿਲਾਏ, ਅਤੇ ਕਰਨਲ ਨੂੰ ਇਹ ਕਰਨ ਲਈ ਸੱਚਮੁੱਚ ਡਿਸਕ ਦੀ ਲੋੜ ਨਹੀਂ ਸੀ।
cat /proc/$(pgrep -n openvpn)/io
ip -s link show tun0
ਪਹਿਲੇ ਆਉਟਪੁੱਟ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਦਾ ਸੰਚਿਤ ਸਮਝ ਕੇ ਪੜ੍ਹੋ, ਦਰ ਵਜੋਂ ਨਹੀਂ। ਦੂਜਾ ਉਸੇ ਟ੍ਰੈਫਿਕ ਦਾ ਇੰਟਰਫੇਸ ਦ੍ਰਿਸ਼ ਦਿੰਦਾ ਹੈ। ਦੋਵਾਂ ਵਿਚਕਾਰ ਵੱਡਾ ਫ਼ਰਕ ਉਮੀਦਵਾਨ ਹੈ ਅਤੇ ਇਹ ਲੀਕ, ਕਤਾਰ ਜਾਂ ਗਲਤ ਸੰਰਚਨਾ ਨਹੀਂ ਦਰਸਾਉਂਦਾ।
ਬਾਈਟ ਸੱਚਮੁੱਚ ਕਿੱਥੋਂ ਆਉਂਦੇ ਹਨ
ਲਗਾਤਾਰ ਆਉਟਪੁੱਟ ਦਾ ਆਪਣਾ ਬਜਟ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਇਹ ਪੇਲੋਡ ਨਾਲ ਨਹੀਂ, ਕਿਰਿਆਵਾਂ ਨਾਲ ਚੱਲਦਾ ਹੈ। ਵਿਸਥਾਰ ਵਾਲਾ ਲਾਗ ਪੱਧਰ, ਵਾਰ-ਵਾਰ ਬਦਲਦੀ ਕਲਾਇੰਟ ਸੂਚੀ, ਜਾਂ ਤੰਗ ਲੂਪ ਵਿੱਚ ਦੁਹਰਾਉਂਦੀ ਗਲਤੀ ਟਨਲ ਬਹੁਤ ਘੱਟ ਢੋਂਦਿਆਂ ਵੀ ਵੱਡੀਆਂ ਲਿਖਤਾਂ ਪੈਦਾ ਕਰ ਸਕਦੀ ਹੈ।
ਸਥਿਤੀ ਫਾਈਲ ਇੱਕ ਅੰਤਰਾਲ ਉੱਤੇ ਮੁੜ ਲਿਖੀ ਜਾਂਦੀ ਸਨੈਪਸ਼ਾਟ ਹੈ, ਇਸ ਲਈ ਇਸਦੀ ਲਾਗਤ ਅੰਤਰਾਲ ਅਤੇ ਇਸ ਵਿੱਚ ਮੌਜੂਦ ਰਿਕਾਰਡਾਂ ਦੀ ਗਿਣਤੀ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਇਹ ਹਰ ਕਲਾਇੰਟ ਦੇ ਟ੍ਰੈਫਿਕ ਦੀ ਚੱਲਦੀ ਨਕਲ ਨਹੀਂ, ਅਤੇ ਅੰਤਰਾਲ ਛੋਟਾ ਕਰਨ ਨਾਲ ਟ੍ਰੈਫਿਕ ਦੀ ਮਾਤਰਾ ਬਦਲੇ ਬਿਨਾਂ ਲਿਖਤ ਦੀ ਮਾਤਰਾ ਬਦਲ ਜਾਂਦੀ ਹੈ।
ਉਹ ਲਿਖਤਾਂ ਲੱਭਦਿਆਂ ਮਾਲਕੀਅਤ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਜੇ ਸੇਵਾ ਸੁਨੇਹੇ ਕਿਸੇ ਲਾਗਿੰਗ ਡੈਮਨ ਨੂੰ ਦਿੰਦੀ ਹੈ, ਤਾਂ ਜਰਨਲ ਜਾਂ ਲਾਗ ਫਾਈਲ ਉਹੀ ਡੈਮਨ ਲਿਖਦਾ ਹੈ, ਅਤੇ ਬਾਈਟ VPN ਪ੍ਰਕਿਰਿਆ ਦੇ ਆਪਣੇ ਕਾਊਂਟਰਾਂ ਵਿੱਚ ਨਹੀਂ ਸਗੋਂ ਡੈਮਨ ਦੇ ਹਿਸਾਬ ਵਿੱਚ ਦਿਖਦੇ ਹਨ। ਸਿਰਫ਼ VPN ਪ੍ਰਕਿਰਿਆ ਵੱਲ ਵੇਖਣਾ ਨਾ ਡਿਸਕ ਦੀ ਗਤੀਵਿਧੀ ਸਮਝਾਉਂਦਾ ਹੈ ਨਾ ਉਸਦੀ ਗੈਰਹਾਜ਼ਰੀ।
ਹੋਰ ਯੋਗਦਾਨਕਰਤਾਵਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨਾ ਸੌਖਾ ਹੈ: ਸ਼ੁਰੂ ਵਿੱਚ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਸੰਰਚਨਾ ਦੀ ਪੜ੍ਹਤ, ਆਪਣੇ ਰਿਕਾਰਡ ਲਿਖਣ ਵਾਲੇ ਹੁੱਕ, ਲੇਖਾ ਪਲੱਗਇਨ, ਕ੍ਰੈਸ਼ ਡੰਪ, ਅਤੇ ਉਸੇ ਹੋਸਟ ਉੱਤੇ ਅਸੰਬੰਧਿਤ ਕੰਮ ਦਾ ਭਾਰ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਦਾ ਵੀ ਅੰਦਾਜ਼ਾ ਟਨਲ ਟ੍ਰੈਫਿਕ ਨੂੰ ਲਿਖੇ ਬਾਈਟਾਂ ਦੇ ਬਰਾਬਰ ਮੰਨ ਕੇ ਨਹੀਂ ਲਾਉਣਾ ਚਾਹੀਦਾ।
ਹਰ ਕਾਊਂਟਰ ਨੂੰ ਠੀਕ ਤਰ੍ਹਾਂ ਪੜ੍ਹਨਾ
ਤਿੰਨ ਵੇਰਵੇ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਤੁਲਨਾ ਦਾ ਕੋਈ ਅਰਥ ਹੈ ਜਾਂ ਨਹੀਂ। ਪ੍ਰਕਿਰਿਆ ਦੀ ਪਛਾਣ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਕਿਉਂਕਿ ਮੁੜ ਸ਼ੁਰੂ ਹੋਈ ਸੇਵਾ ਆਪਣੇ ਕਾਊਂਟਰ ਰੀਸੈਟ ਕਰ ਦਿੰਦੀ ਹੈ। ਸਮੇਂ ਦਾ ਅੰਤਰਾਲ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਕਿਉਂਕਿ ਸੰਚਿਤ ਅੰਕੜਾ ਅਤੇ ਪ੍ਰਤੀ ਸਕਿੰਟ ਚਾਰਟ ਵੱਖਰੇ ਮਾਪ ਹਨ। ਅਤੇ ਇਕਾਈ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਕਿਉਂਕਿ ਲਾਗ ਫਾਈਲ ਦਾ ਮੌਜੂਦਾ ਆਕਾਰ ਵੀ ਦਰ ਨਹੀਂ।
grep -E 'rchar|wchar|read_bytes|write_bytes' /proc/$(pgrep -n openvpn)/io
du -sh /var/log/openvpn 2>/dev/null
journalctl --disk-usage
ਜੇ ਤੁਹਾਨੂੰ ਸੱਚਮੁੱਚ ਪੇਲੋਡ ਲਿਖਤਾਂ ਦਾ ਸ਼ੱਕ ਹੈ, ਤਾਂ ਅਜਿਹਾ ਹਿੱਸਾ ਲੱਭੋ ਜਿਸਦਾ ਕੰਮ ਪੇਲੋਡ ਸੰਭਾਲਣਾ ਹੈ: ਪੈਕਟ ਕੈਪਚਰ ਸਾਧਨ, ਬਾਡੀ ਕੈਸ਼ ਕਰਨ ਵਾਲਾ ਪ੍ਰੌਕਸੀ, ਆਰਕਾਈਵ ਕਰਨ ਵਾਲਾ ਪਲੱਗਇਨ। ਇਹ ਸਟੋਰੇਜ ਟ੍ਰੈਫਿਕ ਪੈਦਾ ਕਰਦੇ ਹਨ ਜੋ ਉਹਨਾਂ ਤੋਂ ਜਿੰਨਾ ਰਿਕਾਰਡ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਉਸ ਨਾਲ ਵਧਦਾ ਹੈ, ਅਤੇ ਇਹ ਰੱਖ-ਰਖਾਅ ਤੇ ਪਹੁੰਚ ਬਾਰੇ ਵੱਖਰੇ ਨੀਤੀਗਤ ਫ਼ੈਸਲੇ ਦਾ ਹਿੱਸਾ ਹਨ।
ਸਹੀ ਸੰਖਿਆ ਨਾਲ ਸਮਰੱਥਾ ਯੋਜਨਾ
ਪੈਕਟ ਮਾਰਗ ਨੂੰ ਨੈੱਟਵਰਕ ਅੰਕੜਿਆਂ ਨਾਲ ਮਾਪੋ: ਥ੍ਰੂਪੁਟ, ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਮੈਮੋਰੀ ਦੀ ਚਾਲ। ਸਟੋਰੇਜ ਨੂੰ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਲਏ ਨਿਰੀਖਣਯੋਗਤਾ ਦੇ ਫ਼ੈਸਲਿਆਂ ਨਾਲ ਮਾਪੋ: ਲਾਗ ਪੱਧਰ, ਰੱਖ-ਰਖਾਅ, ਸਥਿਤੀ ਅੰਤਰਾਲ, ਅਤੇ ਜਾਣਬੁੱਝ ਕੇ ਚਾਲੂ ਕੀਤਾ ਕੋਈ ਵੀ ਕੈਪਚਰ।
ਇਹ ਦੋ ਬਜਟ ਵੱਖਰੇ ਰੱਖਣ ਨਾਲ ਘਟਨਾਵਾਂ ਪੜ੍ਹਨਾ ਵੀ ਸੌਖਾ ਹੁੰਦਾ ਹੈ। ਆਮ ਟਨਲ ਟ੍ਰੈਫਿਕ ਨਾਲ ਭਰੀ ਡਿਸਕ ਲਾਗ, ਕੈਪਚਰ ਜਾਂ ਕਿਸੇ ਅਸੰਬੰਧਿਤ ਚੀਜ਼ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਅਤੇ ਇੰਟਰਫੇਸ ਕਾਊਂਟਰ ਇਸਨੂੰ ਕਦੇ ਨਹੀਂ ਸਮਝਾਏਗਾ। ਸ਼ਾਂਤ ਲਾਗ ਨਾਲ ਭਰਪੂਰ ਲਿੰਕ ਦੂਜੇ ਪਾਸੇ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।
ਕਰਨ ਯੋਗ ਤੁਲਨਾ ਇੱਕੋ ਕਿਸਮ ਦੇ ਮਾਪਾਂ ਵਿਚਕਾਰ ਹੁੰਦੀ ਹੈ। ਸਮੇਂ ਨਾਲ ਇੰਟਰਫੇਸ ਬਾਈਟ ਬਨਾਮ ਇੰਟਰਫੇਸ ਬਾਈਟ ਤੁਹਾਨੂੰ ਮਾਰਗ ਬਾਰੇ ਦੱਸਦੇ ਹਨ। ਸਟੋਰੇਜ ਲਿਖਤਾਂ ਬਨਾਮ ਸਟੋਰੇਜ ਸਮਰੱਥਾ ਤੁਹਾਨੂੰ ਰੱਖ-ਰਖਾਅ ਬਾਰੇ ਦੱਸਦੀਆਂ ਹਨ। ਆੜ੍ਹੀ ਤੁਲਨਾ, ਟ੍ਰੈਫਿਕ ਬਨਾਮ ਡਿਸਕ, ਸਿਰਫ਼ ਅਰਥਪੂਰਨ ਦਿਖਦੀ ਹੈ ਅਤੇ ਕਦੇ ਨਹੀਂ ਹੁੰਦੀ।