ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ 700 ਸੀਰੀਜ਼
ਲੀਨਕਸ ਪ੍ਰਦਰਸ਼ਨ ਟਿਊਨਿੰਗ ਗਾਈਡ
NEX ਕਲਾਉਡ ਨੈੱਟਵਰਕਿੰਗ ਗਰੁੱਪ (NCNG)
Rev. 1.2
ਦਸੰਬਰ 2024
ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
ਸੰਸ਼ੋਧਨ | ਮਿਤੀ | ਟਿੱਪਣੀਆਂ |
1.2 | ਦਸੰਬਰ 2024 | · ਵਾਧੂ ਪਾਵਰ ਮੈਨੇਜਮੈਂਟ ਗਾਈਡੈਂਸ ਜੋੜੀ ਗਈ। · ਇੰਟੇਲ* ਟਰਬੋ ਬੂਸਟ ਜੋੜਿਆ ਗਿਆ। · ਨੈੱਟਵਰਕ ਡਿਵਾਈਸ ਬੈਕਲਾਗ ਜੋੜਿਆ ਗਿਆ। · ਪਲੇਟਫਾਰਮ-ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾਵਾਂ ਅਤੇ ਟਿਊਨਿੰਗ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਗਈਆਂ। · ਚੌਥੀ ਪੀੜ੍ਹੀ ਦੇ ਇੰਟੇਲ* %eon* ਸਕੇਲੇਬਲ ਪ੍ਰੋਸੈਸਰ ਜੋੜੇ ਗਏ। · AMD EPYC ਜੋੜਿਆ ਗਿਆ। · ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ ਚੈੱਕ ਸਿਸਟਮ ਹਾਰਡਵੇਅਰ ਸਮਰੱਥਾ। · ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ iPerf2। · ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ iPerf3। · ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਟੈਕਸ/ਆਰਐਕਸ ਕਤਾਰਾਂ। · ਅੱਪਡੇਟ ਕੀਤਾ ਇੰਟਰੱਪਟ ਸੰਚਾਲਨ। · ਅੱਪਡੇਟ ਕੀਤਾ ਰਿੰਗ ਆਕਾਰ। · ਅੱਪਡੇਟ ਕੀਤਾ ਪਲੇਟਫਾਰਮ ਟਿਊਨਿੰਗ (i40e ਗੈਰ-ਵਿਸ਼ੇਸ਼)। · ਅੱਪਡੇਟ ਕੀਤੀਆਂ BIOS ਸੈਟਿੰਗਾਂ। · ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਸੀ-ਸਟੇਟ ਕੰਟਰੋਲ। · ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ CPU ਫ੍ਰੀਕੁਐਂਸੀ ਸਕੇਲਿੰਗ। · ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਐਪਲੀਕੇਸ਼ਨ ਸੈਟਿੰਗਾਂ। · ਅੱਪਡੇਟ ਕੀਤੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ/ਕਰਨਲ ਸੈਟਿੰਗਾਂ। · ਅੱਪਡੇਟ ਕੀਤਾ IP ਫਾਰਵਰਡਿੰਗ। · ਘੱਟ ਲੇਟੈਂਸੀ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ। |
ਅਗਸਤ 2023 | ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਬਦਲਾਅ ਸ਼ਾਮਲ ਹਨ: · ਸੰਬੰਧਿਤ ਹਵਾਲੇ ਜੋੜੇ ਗਏ। · ਜੋੜਿਆ ਗਿਆ ਯਕੀਨੀ ਬਣਾਓ ਕਿ DDP ਪੈਕੇਜ ਸਹੀ ਢੰਗ ਨਾਲ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ। · iPerf2 ਜੋੜਿਆ ਗਿਆ। · iPerf3 ਜੋੜਿਆ ਗਿਆ। · netperf ਜੋੜਿਆ ਗਿਆ। · ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ IRQ ਐਫੀਨਿਟੀ। · ਟੈਕਸ/ਆਰਐਕਸ ਕਤਾਰਾਂ ਜੋੜੀਆਂ ਗਈਆਂ। · ਅੱਪਡੇਟ ਕੀਤਾ ਰਿੰਗ ਆਕਾਰ। · ਜੰਬੋ ਫਰੇਮ ਜੋੜੇ ਗਏ। · ਅਡਾਪਟਰ ਬਾਂਡਿੰਗ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ। · Intel svr-info ਟੂਲ ਜੋੜਿਆ ਗਿਆ। |
|
1.0 | ਮਾਰਚ 2016 | ਸ਼ੁਰੂਆਤੀ ਰਿਲੀਜ਼ (ਇੰਟੈਲ ਪਬਲਿਕ)। |
ਜਾਣ-ਪਛਾਣ
ਇਹ ਗਾਈਡ ਲੀਨਕਸ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਇੱਕ Intel® Ethernet 700 Series NICs ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਅਨੁਕੂਲ ਨੈੱਟਵਰਕਿੰਗ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਵਾਤਾਵਰਣਾਂ ਨੂੰ ਟਿਊਨ ਕਰਨ ਲਈ ਮਾਰਗਦਰਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਹੈ। ਇਹ ਹਾਰਡਵੇਅਰ, ਡਰਾਈਵਰ, ਅਤੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੀਆਂ ਸਥਿਤੀਆਂ ਅਤੇ ਸੈਟਿੰਗਾਂ 'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦੀ ਹੈ ਜੋ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾ ਸਕਦੀਆਂ ਹਨ। ਇਹ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਨੈੱਟਵਰਕਿੰਗ ਪ੍ਰਦਰਸ਼ਨ ਕਿਸੇ ਵੀ ਬਾਹਰੀ ਪ੍ਰਭਾਵਾਂ ਦੁਆਰਾ ਪ੍ਰਭਾਵਿਤ ਹੋ ਸਕਦਾ ਹੈ, ਇਹਨਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਸਭ ਤੋਂ ਆਮ ਅਤੇ ਨਾਟਕੀ ਇਸ ਗਾਈਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ।
1.1 ਸੰਬੰਧਿਤ ਹਵਾਲੇ
- ਵਿੰਡੋਜ਼ ਅਤੇ ਲੀਨਕਸ ਦਾ ਸਮਰਥਨ ਕਰਨ ਵਾਲੇ ਸਾਰੇ ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ ਅਡੈਪਟਰਾਂ ਅਤੇ ਡਿਵਾਈਸਾਂ ਲਈ ਉਪਭੋਗਤਾ ਗਾਈਡ:
ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ ਅਡੈਪਟਰ ਅਤੇ ਡਿਵਾਈਸ ਯੂਜ਼ਰ ਗਾਈਡ - ਤਕਨੀਕੀ ਡੇਟਾਸ਼ੀਟ:
ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ ਕੰਟਰੋਲਰ X710/XXV710/XL710 ਡੇਟਾਸ਼ੀਟ - ਸਾਰੇ Intel® ਈਥਰਨੈੱਟ ਉਤਪਾਦਾਂ ਲਈ ਪੂਰਾ SW ਬੰਡਲ (ਸਾਰੇ ਡਰਾਈਵਰ, NVM, ਟੂਲ, ਆਦਿ ਡਾਊਨਲੋਡ ਕਰੋ):
ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ ਅਡਾਪਟਰ ਪੂਰਾ ਡਰਾਈਵਰ ਪੈਕ - NVM (ਨਾਨ-ਵੋਲੇਟਾਈਲ ਮੈਮੋਰੀ) ਅੱਪਡੇਟ ਪੈਕੇਜ:
Intel® ਈਥਰਨੈੱਟ ਨੈੱਟਵਰਕ ਅਡਾਪਟਰ 700 ਸੀਰੀਜ਼ ਲਈ ਨਾਨ-ਵੋਲੇਟਾਈਲ ਮੈਮੋਰੀ (NVM) ਅੱਪਡੇਟ ਸਹੂਲਤ - ਲੀਨਕਸ ਲਈ svr-info ਟੂਲ ਜੋ ਸਰਵਰ ਤੋਂ ਸੰਬੰਧਿਤ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸਾਫਟਵੇਅਰ ਵੇਰਵੇ ਕੈਪਚਰ ਕਰਦਾ ਹੈ: https://github.com/intel/svr-info
- ਡੀਡੀਪੀ ਤਕਨਾਲੋਜੀ ਗਾਈਡ:
ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ 700 ਸੀਰੀਜ਼ ਡਾਇਨਾਮਿਕ ਡਿਵਾਈਸ ਪਰਸਨਲਾਈਜ਼ੇਸ਼ਨ (ਡੀਡੀਪੀ) ਤਕਨਾਲੋਜੀ ਗਾਈਡ
ਸ਼ੁਰੂਆਤੀ ਚੈੱਕਲਿਸਟ
2.1 ਡਰਾਈਵਰ/ਫਰਮਵੇਅਰ ਸੰਸਕਰਣ ਅੱਪਡੇਟ ਕਰੋ
ethtool -i ethx ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਰਾਈਵਰ/ਫਰਮਵੇਅਰ ਵਰਜਨਾਂ ਦੀ ਜਾਂਚ ਕਰੋ।
ਲੋੜ ਅਨੁਸਾਰ ਹੇਠ ਲਿਖਿਆਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ:
- i40e ਡਰਾਈਵਰ ਅੱਪਡੇਟ ਕਰੋ
http://sourceforge.net/projects/e1000/files/i40e%20stable/ or https:// downloadcenter.intel.com/ download/24411/Network-Adapter-Driver-for-PCI-E-40- Gigabit-Network-Connections-under-Linux - ਫਰਮਵੇਅਰ ਅੱਪਡੇਟ ਕਰੋ
https://downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-Intel- ਈਥਰਨੈੱਟ-ਕਨਵਰਜਡਨੈੱਟਵਰਕ-ਅਡਾਪਟਰ-XL710-X710-ਸੀਰੀਜ਼
2.2 README ਪੜ੍ਹੋ
ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦਿਆਂ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ README ਤੋਂ ਨਵੀਨਤਮ ਸੰਰਚਨਾ ਨਿਰਦੇਸ਼ ਪ੍ਰਾਪਤ ਕਰੋ। file i40e ਸਰੋਤ ਪੈਕੇਜ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ।
2.3 ਜਾਂਚ ਕਰੋ ਕਿ ਤੁਹਾਡਾ PCI ਐਕਸਪ੍ਰੈਸ (PCIe) ਸਲਾਟ x8 ਹੈ।
ਕੁਝ PCIe x8 ਸਲਾਟ ਅਸਲ ਵਿੱਚ x4 ਸਲਾਟ ਦੇ ਰੂਪ ਵਿੱਚ ਸੰਰਚਿਤ ਕੀਤੇ ਗਏ ਹਨ। ਇਹਨਾਂ ਸਲਾਟਾਂ ਵਿੱਚ ਦੋਹਰੇ ਪੋਰਟ ਅਤੇ ਕਵਾਡ ਪੋਰਟ ਡਿਵਾਈਸਾਂ ਦੇ ਨਾਲ ਪੂਰੀ ਲਾਈਨ ਰੇਟ ਲਈ ਨਾਕਾਫ਼ੀ ਬੈਂਡਵਿਡਥ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ PCIe v3.0-ਸਮਰੱਥ ਅਡੈਪਟਰ ਨੂੰ ਇੱਕ PCIe v2.x ਸਲਾਟ ਵਿੱਚ ਪਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਪੂਰੀ ਬੈਂਡਵਿਡਥ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਸਾਫਟਵੇਅਰ ਡਿਵਾਈਸ ਡਰਾਈਵਰ ਇਸ ਸਥਿਤੀ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ ਅਤੇ ਸਿਸਟਮ ਲੌਗ ਵਿੱਚ ਹੇਠ ਲਿਖਿਆ ਸੁਨੇਹਾ ਲਿਖਦਾ ਹੈ:
ਇਸ ਕਾਰਡ ਲਈ ਉਪਲਬਧ PCI-Express ਬੈਂਡਵਿਡਥ ਅਨੁਕੂਲ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਅਨੁਕੂਲ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਇੱਕ x8 PCI-Express ਸਲਾਟ ਦੀ ਲੋੜ ਹੈ।
ਜੇਕਰ ਇਹ ਗਲਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਆਪਣੇ ਅਡੈਪਟਰ ਨੂੰ ਇੱਕ ਸੱਚੇ PCIe v3.0 x8 ਸਲਾਟ ਵਿੱਚ ਲੈ ਜਾਓ।
2.4 ਸਿਸਟਮ ਹਾਰਡਵੇਅਰ ਸਮਰੱਥਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰੋ
10 Gbps, 25 Gbps, ਅਤੇ 40 Gbps ਈਥਰਨੈੱਟ 'ਤੇ, ਕੁਝ ਘੱਟੋ-ਘੱਟ CPU ਅਤੇ ਸਿਸਟਮ ਜ਼ਰੂਰਤਾਂ ਹਨ। ਆਮ ਤੌਰ 'ਤੇ, ਤੁਹਾਡੇ ਪਲੇਟਫਾਰਮ ਲਈ ਇੱਕ ਆਧੁਨਿਕ ਸਰਵਰ ਕਲਾਸ ਪ੍ਰੋਸੈਸਰ ਅਤੇ ਅਨੁਕੂਲ ਮੈਮੋਰੀ ਸੰਰਚਨਾ ਕਾਫ਼ੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਪਰ ਲੋੜਾਂ ਤੁਹਾਡੇ ਵਰਕਲੋਡ ਦੇ ਅਧਾਰ ਤੇ ਵੱਖ-ਵੱਖ ਹੁੰਦੀਆਂ ਹਨ। ਸਾਰੇ ਮੈਮੋਰੀ ਚੈਨਲਾਂ ਨੂੰ ਭਰਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ BIOS ਵਿੱਚ ਮੈਮੋਰੀ ਪ੍ਰਦਰਸ਼ਨ ਮੋਡ ਸਮਰੱਥ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਤੁਹਾਡਾ CPU ਅਤੇ ਮੈਮੋਰੀ ਸੰਰਚਨਾ ਤੁਹਾਡੇ ਵਰਕਲੋਡ ਲਈ ਲੋੜੀਂਦੇ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਪੱਧਰ ਦਾ ਸਮਰਥਨ ਕਰਨ ਦੇ ਸਮਰੱਥ ਹੈ।
ਨੋਟ ਕਰੋ
XL710 ਇੱਕ 40 GbE ਕੰਟਰੋਲਰ ਹੈ। ਇਸ ਕੰਟਰੋਲਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲਾ 2 x 40 GbE ਅਡੈਪਟਰ 2 x 40 GbE ਨਹੀਂ ਹੈ ਬਲਕਿ ਇੱਕ ਸਰਗਰਮ ਬੈਕ-ਅੱਪ ਪੋਰਟ ਦੇ ਨਾਲ 1 x 40 GbE ਹੈ। ਜਦੋਂ ਦੋਵੇਂ ਪੋਰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਵਾਲੀ ਲਾਈਨ-ਰੇਟ ਟ੍ਰੈਫਿਕ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਅੰਦਰੂਨੀ ਸਵਿੱਚ ਸੰਤ੍ਰਿਪਤ ਹੁੰਦਾ ਹੈ ਅਤੇ ਦੋਵਾਂ ਪੋਰਟਾਂ ਵਿਚਕਾਰ ਸੰਯੁਕਤ ਬੈਂਡਵਿਡਥ ਕੁੱਲ SO Gbps ਤੱਕ ਸੀਮਿਤ ਹੁੰਦੀ ਹੈ।
2.4.1 ਕਰਨਲ ਬੂਟ ਪੈਰਾਮੀਟਰ
ਜੇਕਰ BIOS ਵਿੱਚ Intel® ਵਰਚੁਅਲਾਈਜੇਸ਼ਨ ਤਕਨਾਲੋਜੀ ਫਾਰ ਡਾਇਰੈਕਟਡ I/O (Intel® VT-d) ਯੋਗ ਹੈ, ਤਾਂ Intel ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ IOMMU ਨੂੰ ਅਨੁਕੂਲ ਹੋਸਟ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਪਾਸ-ਥਰੂ ਮੋਡ ਵਿੱਚ ਰੱਖਿਆ ਜਾਵੇ। ਇਹ ਹੋਸਟ ਟ੍ਰੈਫਿਕ 'ਤੇ DMA ਓਵਰਹੈੱਡ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਵਰਚੁਅਲ ਮਸ਼ੀਨਾਂ (VMs) ਨੂੰ ਅਜੇ ਵੀ Intel® VT-d ਦੇ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਕਰਨਲ ਬੂਟ ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ ਹੇਠ ਲਿਖੀ ਲਾਈਨ ਜੋੜ ਕੇ ਪੂਰਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ: fommu-pt।
2.5 ਯਕੀਨੀ ਬਣਾਓ ਕਿ DDP ਪੈਕੇਜ ਸਹੀ ਢੰਗ ਨਾਲ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ
140ea ਅਤੇ 140eb ਬੇਸ ਡਰਾਈਵਰਾਂ ਕੋਲ ਡਾਇਨਾਮਿਕ ਡਿਵਾਈਸ ਪਰਸਨਲਾਈਜ਼ੇਸ਼ਨ (DDP) ਲਈ ਸਿੱਧਾ ਸਮਰਥਨ ਨਹੀਂ ਹੈ। 700 ਸੀਰੀਜ਼ ਡਿਵਾਈਸਾਂ ਨਾਲ DDP ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਇੱਕ DDP ਪ੍ਰੋfile testpmd ਐਪਲੀਕੇਸ਼ਨ ਨਾਲ ਅਪਲਾਈ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਡੀਡੀਪੀ ਪ੍ਰੋ ਬਾਰੇ ਵੇਰਵਿਆਂ ਲਈfiles, ਅਤੇ DDP ਪ੍ਰੋ ਨੂੰ ਕਿਵੇਂ ਲਾਗੂ ਕਰਨਾ ਹੈfile 700 ਸੀਰੀਜ਼ ਡਿਵਾਈਸਾਂ 'ਤੇ testpmd ਦੇ ਨਾਲ, Intel® Ethernet 700 ਸੀਰੀਜ਼ ਡਾਇਨਾਮਿਕ ਡਿਵਾਈਸ ਪਰਸਨਲਾਈਜ਼ੇਸ਼ਨ (DDP) ਤਕਨਾਲੋਜੀ ਗਾਈਡ ਵੇਖੋ।
ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਕੀ ਇੱਕ DDP ਪ੍ਰੋfile ਸਫਲਤਾਪੂਰਵਕ ਲੋਡ ਕੀਤਾ ਗਿਆ ਸੀ:
testpmd> ddp ਸੂਚੀ 0 ਪ੍ਰੋ ਪ੍ਰਾਪਤ ਕਰੋfile ਨੰਬਰ ਹੈ: 1
ਨੋਟ ਕਰੋ
ਜੇਕਰ ਪ੍ਰੋfile ਨੰਬਰ 0 ਹੈ, ਕੋਈ DDP ਪੈਕੇਜ ਲੋਡ ਨਹੀਂ ਹੋਇਆ ਹੈ। DDP ਪੈਕੇਜ ਲੋਡ ਗਲਤੀ ਦੀ ਸਥਿਤੀ ਵਿੱਚ, ਡਿਵਾਈਸ ਡਿਫੌਲਟ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਮੋਡ 'ਤੇ ਚਲੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਬਹੁਤ ਸਾਰੀਆਂ ਪ੍ਰਦਰਸ਼ਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀਆਂ ਹਨ। ਜੇਕਰ DDP ਪੈਕੇਜ ਲੋਡ ਕਰਨ ਨਾਲ ਸੰਬੰਧਿਤ ਗਲਤੀਆਂ ਹਨ, ਤਾਂ ਇਹ ਪ੍ਰਦਰਸ਼ਨ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰੇਗਾ। ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਕਦਮਾਂ ਲਈ, Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP) ਤਕਨਾਲੋਜੀ ਗਾਈਡ ਵੇਖੋ।
ਬੇਸਲਾਈਨ ਪ੍ਰਦਰਸ਼ਨ ਮਾਪ ਅਤੇ ਟਿਊਨਿੰਗ ਵਿਧੀ
3.1 ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਬੈਂਚਮਾਰਕ
ਟਿਊਨਿੰਗ ਅਭਿਆਸ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਆਪਣੇ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਦਾ ਇੱਕ ਚੰਗਾ ਬੇਸਲਾਈਨ ਮਾਪ ਲੈਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਖਾਸ ਐਪਲੀਕੇਸ਼ਨ/ਵਰਕਲੋਡ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਦਾ ਸ਼ੁਰੂਆਤੀ ਮਾਪ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਇਲਾਵਾ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਤੁਹਾਡਾ ਨੈੱਟਵਰਕ ਡਿਵਾਈਸ ਚੰਗੀ ਸਥਿਤੀ ਵਿੱਚ ਹੈ, ਇੱਕ ਮਿਆਰੀ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਬੈਂਚਮਾਰਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵੀ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ।
ਸਿੰਗਲ ਸਿਸਟਮ ਔਪਟੀਮਾਈਜੇਸ਼ਨ ਲਈ, netperf ਜਾਂ iperf ਅਤੇ NetPIPE ਸਾਰੇ ਠੋਸ ਓਪਨਸੋਰਸ ਮੁਫ਼ਤ ਟੂਲ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਇੱਕ ਕਨੈਕਸ਼ਨ 'ਤੇ ਜ਼ੋਰ ਦੇਣ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਸਮੱਸਿਆਵਾਂ ਦਾ ਨਿਦਾਨ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।
Netperf ਥਰੂਪੁੱਟ ਅਤੇ ਲੇਟੈਂਸੀ ਟੈਸਟਿੰਗ ਦੋਵਾਂ ਲਈ ਮਜ਼ਬੂਤ ਹੈ। NetPIPE ਇੱਕ ਲੇਟੈਂਸੀ-ਵਿਸ਼ੇਸ਼ ਟੂਲ ਹੈ ਪਰ ਇਸਨੂੰ ਕਿਸੇ ਵੀ ਕਿਸਮ ਦੇ ਵਾਤਾਵਰਣ ਲਈ ਕੰਪਾਇਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਨੋਟ ਕਰੋ
netperf ਵਿੱਚ TCP_RR ਟੈਸਟ ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ/ਸਕਿੰਟ ਦੇ ਮੁੱਲ ਵਿੱਚ ਲੇਟੈਂਸੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਕ ਰਾਊਂਡ-ਟ੍ਰਿਪ ਨੰਬਰ ਹੈ। ਇੱਕ-ਪਾਸੜ ਲੇਟੈਂਸੀ ਦੀ ਗਣਨਾ ਹੇਠ ਦਿੱਤੇ ਸਮੀਕਰਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ:
ਲੇਟੈਂਸੀ(usec) = (1⁄2) / [ਲੈਣ-ਦੇਣ/ਸਕਿੰਟ] * 1,000,000
3.1.1 ਆਈਪਰਫ2
ਇੰਟੇਲ ਜ਼ਿਆਦਾਤਰ ਬੈਂਚਮਾਰਕਿੰਗ ਸਥਿਤੀਆਂ ਲਈ iperf2 ਉੱਤੇ iperf3 ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇੱਕ ਸਿੰਗਲ ਐਪਲੀਕੇਸ਼ਨ ਉਦਾਹਰਣ ਵਿੱਚ ਵਰਤੋਂ ਵਿੱਚ ਆਸਾਨੀ ਅਤੇ ਕਈ ਥ੍ਰੈੱਡਾਂ ਦਾ ਸਮਰਥਨ ਹੁੰਦਾ ਹੈ। ਇੰਟੇਲ 2G ਕਨੈਕਸ਼ਨਾਂ ਲਈ 4-25 ਥ੍ਰੈੱਡਾਂ ਅਤੇ 4G ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਲਗਭਗ 6-40 ਥ੍ਰੈੱਡਾਂ ਦੇ ਨਾਲ -P ਵਿਕਲਪ ਨਾਲ ਚੱਲਣ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦਾ ਹੈ।
- ਕਲਾਇੰਟ ਤੋਂ ਸਰਵਰ ਤੱਕ ਇੱਕ-ਦਿਸ਼ਾਵੀ ਟ੍ਰੈਫਿਕ ਚਲਾਉਣ ਲਈ: ਸਰਵਰ ਕਮਾਂਡ example: iperf2 -s
ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾample: iperf2 -c -ਪੀ - ਕਲਾਇੰਟ ਤੋਂ ਸਰਵਰ ਤੱਕ ਦੋ-ਦਿਸ਼ਾਵੀ ਟ੍ਰੈਫਿਕ ਚਲਾਉਣ ਲਈ (ਅਤੇ ਇਸਦੇ ਉਲਟ): ਸਰਵਰ ਕਮਾਂਡ example: iperf2 –s –p
ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾampLe:
iperf2 -c -ਪੀ -ਪੀ --ਫੁੱਲ-ਡੁਪਲੈਕਸ OR
iperf2 -c -ਪੀ -ਪੀ -ਡੀ
ਨੋਟ ਕਰੋ
iperf2 ਵਿੱਚ –full-duplex ਅਤੇ -d ਦੋਵੇਂ ਵਿਕਲਪ ਉਪਭੋਗਤਾ ਨੂੰ ਦੋ-ਦਿਸ਼ਾਵੀ ਟੈਸਟਿੰਗ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ। ਹਾਲਾਂਕਿ, –full-duplex ਵਿਕਲਪ ਖਾਸ ਤੌਰ 'ਤੇ ਪੂਰੇ ਡੁਪਲੈਕਸ ਟੈਸਟਿੰਗ 'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦਾ ਹੈ।
ਨੋਟ ਕਰੋ
ਕਈ ਸਰਵਰ ਪੋਰਟਾਂ ਵਿੱਚ iperf2 ਦੀ ਜਾਂਚ ਕਰਦੇ ਸਮੇਂ, -d ਫਲੈਗ ਨੂੰ ਸਰਵਰ ਕਮਾਂਡ ਵਿੱਚ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ ਤਾਂ ਜੋ ਇੱਕੋ ਟਰਮੀਨਲ ਵਿੰਡੋ ਤੋਂ ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ ਸਾਰੇ ਸਰਵਰ ਸੈਸ਼ਨ ਚਲਾ ਸਕਣ। -d ਫਲੈਗ ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਦੋਂ ਸਰਵਰ ਕਮਾਂਡ ਨੂੰ ਇੱਕ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਇੱਕ for-loop ਦੇ ਅੰਦਰ ਏਮਬੇਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਨੋਟ ਕਰੋ
ਜਦੋਂ ਇੱਕ ਸਿੰਗਲ ਸਟ੍ਰੀਮ/ਥ੍ਰੈੱਡ ਨਾਲ ਨੈੱਟਵਰਕ ਥਰੂਪੁੱਟ ਟੈਸਟ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ (ਉਦਾਹਰਨ ਲਈample: P1), AMD ਪ੍ਰੋਸੈਸਰ ਉਮੀਦ ਕੀਤੇ ਥਰੂਪੁੱਟ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਖਾਸ ਕਰਕੇ ਉੱਚ ਬੈਂਡਵਿਡਥ NICs (ਜੇਕਰ ਗਤੀ >= 25G ਬੈਂਡਵਿਡਥ ਹੈ)। ਨਤੀਜੇ ਵਜੋਂ, ਉੱਚ ਥਰੂਪੁੱਟ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਖਾਸ ਕੋਰਾਂ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਪਿੰਨਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਪੰਨਾ 22 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਸੈਟਿੰਗਾਂ ਵੇਖੋ।
3.1.2 ਆਈਪਰਫ3
ਜੇਕਰ iperf3 ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਐਡਵਾਂਸ ਲੈਣ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਕਈ ਉਦਾਹਰਣਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈtagਮਲਟੀ-ਥ੍ਰੈੱਡਸ, RSS, ਅਤੇ ਹਾਰਡਵੇਅਰ ਕਤਾਰਾਂ ਵਿੱਚੋਂ e। Intel 2G ਕਨੈਕਸ਼ਨਾਂ ਲਈ 4-25 ਐਪਲੀਕੇਸ਼ਨ ਸੈਸ਼ਨਾਂ ਅਤੇ 4G ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਲਗਭਗ 6-40 ਸੈਸ਼ਨਾਂ ਨਾਲ ਚੱਲਣ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦਾ ਹੈ। ਹਰੇਕ ਸੈਸ਼ਨ ਨੂੰ -p ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਵਿਲੱਖਣ TCP ਪੋਰਟ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- ਕਲਾਇੰਟ ਤੋਂ ਸਰਵਰ ਤੱਕ ਇੱਕ-ਦਿਸ਼ਾਵੀ ਟ੍ਰੈਫਿਕ ਚਲਾਉਣ ਲਈ:
ਸਰਵਰ ਕਮਾਂਡ ਐਕਸampLe:
iperf3 -s -p
ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾampLe:
iperf3 -c -ਪੀ - ਕਲਾਇੰਟ ਤੋਂ ਸਰਵਰ ਤੱਕ ਦੋ-ਦਿਸ਼ਾਵੀ ਟ੍ਰੈਫਿਕ ਚਲਾਉਣ ਲਈ (ਅਤੇ ਇਸਦੇ ਉਲਟ):
ਸਰਵਰ ਕਮਾਂਡ ਐਕਸampLe:
iperf3 –s –p
ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾample: iperf3 -c -ਪੀ -ਪੀ –-ਬਿਦੀਰ - iperf3 ਦੇ ਕਈ ਉਦਾਹਰਣਾਂ (ਥ੍ਰੈੱਡ) ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਸਿਫ਼ਾਰਸ਼ ਇਹ ਹੈ ਕਿ TCP ਪੋਰਟਾਂ 'ਤੇ ਥ੍ਰੈੱਡਾਂ ਨੂੰ ਮੈਪ ਕਰਨ ਲਈ ਇੱਕ ਫਾਰ-ਲੂਪ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇ ਅਤੇ ਸਮਾਨਾਂਤਰ ਵਿੱਚ ਕਈ ਪ੍ਰਕਿਰਿਆਵਾਂ ਬਣਾਉਣ ਲਈ & ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ iperf3 ਨੂੰ ਚਲਾਇਆ ਜਾਵੇ।
ਸਰਵਰ ਕਮਾਂਡ ਐਕਸample, 4 ਥ੍ਰੈੱਡ ਸ਼ੁਰੂ ਕਰੋ: port=””; {0..3} ਵਿੱਚ i ਲਈ; do port=520$i; bash -c “iperf3 -s -p $port &”; done; ਕਲਾਇੰਟ ਕਮਾਂਡ example, 4 ਥ੍ਰੈੱਡ ਸ਼ੁਰੂ ਕਰੋ - ਟੈਸਟ ਪੋਰਟ=””; {0..3} ਵਿੱਚ i ਲਈ ਟ੍ਰਾਂਸਮਿਟ ਕਰੋ; ਪੋਰਟ=520$i ਕਰੋ; bash -c “iperf3 -c $serverIP -p $port &”; ਕੀਤਾ ਗਿਆ; ਕਲਾਇੰਟ ਕਮਾਂਡ example, 4 ਥ੍ਰੈੱਡ ਸ਼ੁਰੂ ਕਰੋ – ਟੈਸਟ ਪੋਰਟ ਪ੍ਰਾਪਤ ਕਰੋ=””; {0..3} ਵਿੱਚ i ਲਈ; do port=520$i; bash -c “iperf3 -R -c $serverIP -p $port &”; ਕੀਤਾ ਗਿਆ; 40G ਕਨੈਕਸ਼ਨਾਂ ਲਈ, 6 ਇੰਸਟੈਂਸ/ਥ੍ਰੈੱਡ ਬਣਾਉਣ ਲਈ ਫਾਰ-ਲੂਪ ਵਧਾਓ।
ਨੋਟ ਕਰੋ
ਜਦੋਂ ਇੱਕ ਸਿੰਗਲ ਸਟ੍ਰੀਮ/ਥ੍ਰੈੱਡ ਨਾਲ ਨੈੱਟਵਰਕ ਥਰੂਪੁੱਟ ਟੈਸਟ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ (ਉਦਾਹਰਨ ਲਈample: P1), AMD ਪ੍ਰੋਸੈਸਰ ਉਮੀਦ ਕੀਤੀ ਥਰੂਪੁੱਟ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਖਾਸ ਕਰਕੇ ਉੱਚ ਬੈਂਡਵਿਡਥ
NICs (ਜੇਕਰ ਗਤੀ >= 25G ਬੈਂਡਵਿਡਥ ਹੈ)। ਨਤੀਜੇ ਵਜੋਂ, ਉੱਚ ਥਰੂਪੁੱਟ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਖਾਸ ਕੋਰਾਂ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਪਿੰਨਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਪੰਨਾ 22 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਸੈਟਿੰਗਾਂ ਅਤੇ ਪੰਨਾ 26 'ਤੇ AMD EPYC ਵੇਖੋ।
3.1.3 ਨੈੱਟਪਰਫ
ਨੈੱਟਪਰਫ ਟੂਲ ਥਰੂਪੁੱਟ ਅਤੇ ਲੇਟੈਂਸੀ ਟੈਸਟਿੰਗ ਦੋਵਾਂ ਲਈ ਇੱਕ ਮਜ਼ਬੂਤ ਵਿਕਲਪ ਹੈ।
- netperf ਵਿੱਚ TCP_STREAM ਟੈਸਟ ਡਿਵਾਈਸ ਦੀਆਂ ਥਰੂਪੁੱਟ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਮਾਪਦਾ ਹੈ। ਸਰਵਰ ਕਮਾਂਡ example: netserver ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾample: netperf -t TCP_STREAM -l 30 -H
- netperf ਵਿੱਚ TCP_RR ਟੈਸਟ ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ/ਸੈਕਿੰਡ ਦੇ ਮੁੱਲ ਵਿੱਚ ਲੇਟੈਂਸੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਕ ਰਾਊਂਡ-ਟ੍ਰਿਪ ਨੰਬਰ ਹੈ। -T x,x ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜੇਕਰ x ਡਿਵਾਈਸ ਲਈ CPU ਸਥਾਨਕ ਹੈ। ਇੱਕ-ਪਾਸੜ ਲੇਟੈਂਸੀ ਦੀ ਗਣਨਾ ਇਸ ਤਰ੍ਹਾਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ: Latency(usec)=(1⁄2)/ [ਟ੍ਰਾਂਜੈਕਸ਼ਨਾਂ/ਸੈਕਿੰਡ]*1,000,\ ਸਰਵਰ ਕਮਾਂਡ example: ਨੈੱਟਸਰਵਰ
ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾample: netperf -t TCP_RR -l 30 -H -ਟੀ ਐਕਸ, ਐਕਸ - netperf ਦੇ ਕਈ ਉਦਾਹਰਣਾਂ (ਥ੍ਰੈੱਡ) ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਸਿਫ਼ਾਰਸ਼ ਇਹ ਹੈ ਕਿ TCP ਪੋਰਟਾਂ 'ਤੇ ਥ੍ਰੈੱਡਾਂ ਨੂੰ ਮੈਪ ਕਰਨ ਲਈ ਇੱਕ for-loop ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇ ਅਤੇ ਸਮਾਨਾਂਤਰ ਵਿੱਚ ਕਈ ਪ੍ਰਕਿਰਿਆਵਾਂ ਬਣਾਉਣ ਲਈ & ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੈਕਗ੍ਰਾਉਂਡ ਵਿੱਚ netperf ਨੂੰ ਚਲਾਇਆ ਜਾਵੇ।
ਸਰਵਰ ਕਮਾਂਡ ਐਕਸampਲੈ, 8 ਥ੍ਰੈੱਡ ਸ਼ੁਰੂ ਕਰੋ:
port=””; {0..7} ਵਿੱਚ i ਲਈ; do port=520$i; bash -c “netserver -L $serverIP -p $port &”; ਹੋ ਗਿਆ;
ਕਲਾਇੰਟ ਕਮਾਂਡ ਸਾਬਕਾample, 8 ਥ੍ਰੈੱਡ ਸ਼ੁਰੂ ਕਰੋ: port=””; {0..7} ਵਿੱਚ i ਲਈ; do port=520$i; bash -c “netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &”; ਹੋ ਗਿਆ;
3.2 ਟਿਊਨਿੰਗ ਵਿਧੀ
ਇੱਕ ਸਮੇਂ ਵਿੱਚ ਇੱਕ ਟਿਊਨਿੰਗ ਬਦਲਾਅ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰੋ ਤਾਂ ਜੋ ਤੁਹਾਨੂੰ ਪਤਾ ਲੱਗੇ ਕਿ ਹਰੇਕ ਬਦਲਾਅ ਤੁਹਾਡੇ ਟੈਸਟ 'ਤੇ ਕੀ ਪ੍ਰਭਾਵ ਪਾਉਂਦਾ ਹੈ। ਟਿਊਨਿੰਗ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਤੁਸੀਂ ਜਿੰਨਾ ਜ਼ਿਆਦਾ ਵਿਧੀਗਤ ਹੋਵੋਗੇ, ਪ੍ਰਦਰਸ਼ਨ ਰੁਕਾਵਟਾਂ ਦੇ ਕਾਰਨਾਂ ਦੀ ਪਛਾਣ ਕਰਨਾ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਹੱਲ ਕਰਨਾ ਓਨਾ ਹੀ ਆਸਾਨ ਹੋਵੇਗਾ।
i40e ਡਰਾਈਵਰ ਸੈਟਿੰਗਾਂ ਨੂੰ ਟਿਊਨ ਕਰਨਾ
4.1 IRQ ਐਫੀਨਟੀ
IRQ ਐਫੀਨਿਟੀ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਕੌਂਫਿਗਰ ਕਰਨਾ ਕਿ ਵੱਖ-ਵੱਖ ਨੈੱਟਵਰਕ ਕਤਾਰਾਂ ਲਈ ਇੰਟਰੱਪਟ ਵੱਖ-ਵੱਖ CPU ਕੋਰਾਂ ਨਾਲ ਜੁੜੇ ਹੋਣ, ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਬਹੁਤ ਵੱਡਾ ਪ੍ਰਭਾਵ ਪਾ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਮਲਟੀਥ੍ਰੈਡ ਥਰੂਪੁੱਟ ਟੈਸਟਾਂ 'ਤੇ।
IRQ ਐਫੀਨਿਟੀ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ, irqbalance ਨੂੰ ਰੋਕੋ ਅਤੇ ਫਿਰ i40e ਸਰੋਤ ਪੈਕੇਜ ਤੋਂ set_irq_affinity ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਾਂ ਕਤਾਰਾਂ ਨੂੰ ਹੱਥੀਂ ਪਿੰਨ ਕਰੋ। ਕਤਾਰ ਪਿੰਨਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਯੂਜ਼ਰ-ਸਪੇਸ IRQ ਬੈਲੈਂਸਰ ਨੂੰ ਅਯੋਗ ਕਰੋ:
- systemctl irqbalance ਨੂੰ ਅਯੋਗ ਕਰੋ
- systemctl irqbalance ਨੂੰ ਰੋਕੋ
i40e ਸਰੋਤ ਪੈਕੇਜ ਤੋਂ set_irq_affinity ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ (ਸਿਫ਼ਾਰਸ਼ੀ): - ਸਾਰੇ ਕੋਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ:
[path-to-i40epackage]/scripts/set_irq_affinity -X ਸਾਰੇ ethX - ਸਥਾਨਕ NUMA ਸਾਕਟ 'ਤੇ ਸਿਰਫ਼ ਕੋਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ: [path-to-i40epackage]/scripts/set_irq_affinity -X ਸਥਾਨਕ ethX
- ਤੁਸੀਂ ਕੋਰਾਂ ਦੀ ਇੱਕ ਰੇਂਜ ਵੀ ਚੁਣ ਸਕਦੇ ਹੋ। cpu0 ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਬਚੋ ਕਿਉਂਕਿ ਇਹ ਟਾਈਮਰ ਟਾਸਕ ਚਲਾਉਂਦਾ ਹੈ। [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX
ਨੋਟ ਕਰੋ
ਐਫੀਨਿਟੀ ਸਕ੍ਰਿਪਟ ਟ੍ਰਾਂਸਮਿਟ ਪੈਕੇਟ ਸਟੀਅਰਿੰਗ (XPS) ਨੂੰ ਪਿੰਨਿੰਗ ਪ੍ਰਕਿਰਿਆ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ ਜਦੋਂ -x ਵਿਕਲਪ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ XPS ਸਮਰੱਥ ਹੁੰਦਾ ਹੈ, ਤਾਂ Intel ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ irqbalance ਨੂੰ ਅਯੋਗ ਕਰੋ, ਕਿਉਂਕਿ XPS ਵਾਲਾ ਕਰਨਲ ਬੈਲੈਂਸਰ ਅਣਪਛਾਤੇ ਪ੍ਰਦਰਸ਼ਨ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ। ਐਫੀਨਿਟੀ ਸਕ੍ਰਿਪਟ XPS ਨੂੰ ਅਯੋਗ ਕਰ ਦਿੰਦੀ ਹੈ ਜਦੋਂ -X ਵਿਕਲਪ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। XPS ਨੂੰ ਅਯੋਗ ਕਰਨਾ ਅਤੇ ਸਮਮਿਤੀ ਕਤਾਰਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਵਰਕਲੋਡਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜਿੱਥੇ ਸਭ ਤੋਂ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਉਦੋਂ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ ਜਦੋਂ Tx ਅਤੇ Rx ਟ੍ਰੈਫਿਕ ਇੱਕੋ ਕਤਾਰ ਜੋੜੇ (ਜੋੜਿਆਂ) 'ਤੇ ਸੇਵਾ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ।
ਲੀਨਕਸ ਵਿੱਚ ਸਮਮਿਤੀ ਕਤਾਰਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਵਿੱਚ ਸਮਰਥਿਤ ਨੈੱਟਵਰਕ ਅਡੈਪਟਰਾਂ ਲਈ ਸਮਮਿਤੀ ਪ੍ਰਾਪਤ ਕਤਾਰਾਂ (Rx) ਅਤੇ ਸਮਮਿਤੀ ਟ੍ਰਾਂਸਮਿਟ ਕਤਾਰਾਂ (Tx) ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਡਰਾਈਵਰ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਟਿਊਨ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ।
ਨੋਟ ਕਰੋ
- ਸਮਮਿਤੀ ਕਤਾਰਾਂ ਇੱਕ ਉੱਨਤ ਨੈੱਟਵਰਕਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾ ਹਨ, ਅਤੇ ਸਾਰੇ 700 ਸੀਰੀਜ਼ ਨੈੱਟਵਰਕ ਅਡੈਪਟਰ ਜਾਂ ਡਰਾਈਵਰ ਇਹਨਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ ਹਨ।
- ਸਮਮਿਤੀ ਕਤਾਰਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਲੋੜੀਂਦਾ ਡਰਾਈਵਰ ਅਤੇ ਹਾਰਡਵੇਅਰ ਸਹਾਇਤਾ ਹੈ।
ਸਮਮਿਤੀ ਕਤਾਰਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ, ਇਹਨਾਂ ਆਮ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:
- ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਸੰਰਚਨਾ ਸੋਧੋ File: ਇੱਕ ਟੈਕਸਟ ਐਡੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਉਦਾਹਰਨ ਲਈample, vi, nano, ਜਾਂ gedit) ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਸੰਰਚਨਾ ਨੂੰ ਸੋਧਣ ਲਈ file. ਦ file ਆਮ ਤੌਰ 'ਤੇ /etc/sysconfig/network-scripts/ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅਧੀਨ ਸਥਿਤ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਸਦਾ ਨਾਮ ifcfg-ethX ਵਰਗਾ ਹੁੰਦਾ ਹੈ, ਜਿੱਥੇ ethX ਤੁਹਾਡੇ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਦਾ ਨਾਮ ਹੁੰਦਾ ਹੈ।
- ਸਮਮਿਤੀ ਕਤਾਰ ਪੈਰਾਮੀਟਰ ਸ਼ਾਮਲ ਕਰੋ। ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਲਾਈਨਾਂ ਸ਼ਾਮਲ ਕਰੋ। file: ETHTOOL_OPTS=”rx-ਕਤਾਰਾਂ 8 tx-ਕਤਾਰਾਂ 8″
- ਨੈੱਟਵਰਕ ਸੇਵਾ ਮੁੜ ਚਾਲੂ ਕਰੋ।
ਬਦਲਾਅ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਨਵੀਂ ਸੰਰਚਨਾ ਲਾਗੂ ਕਰਨ ਲਈ ਨੈੱਟਵਰਕ ਸੇਵਾ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ। sudo systemctl restart network
ਹੱਥੀਂ:
-
ਹਰੇਕ ਨੋਡ ਨਾਲ ਜੁੜੇ ਪ੍ਰੋਸੈਸਰਾਂ ਨੂੰ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੱਭੋ: numactl –hardware lscpu
-
ਹਰੇਕ ਪ੍ਰੋਸੈਸਰ ਲਈ ਬਿੱਟ ਮਾਸਕ ਲੱਭੋ:
- ਨੋਡ 0 ਲਈ ਕੋਰ 11-0 ਮੰਨ ਕੇ: [1,2,4,8,10,20,40,80,100,200,400,800]
- ਨਿਰਧਾਰਤ ਕੀਤੇ ਜਾ ਰਹੇ ਪੋਰਟ ਨੂੰ ਨਿਰਧਾਰਤ ਕੀਤੇ ਗਏ IRQ ਲੱਭੋ: grep ethX /proc/interrupts ਅਤੇ IRQ ਮੁੱਲਾਂ ਨੂੰ ਨੋਟ ਕਰੋ ਉਦਾਹਰਨ ਲਈample, 181 ਵੈਕਟਰਾਂ ਲਈ 192-12 ਲੋਡ ਕੀਤਾ ਗਿਆ।
- SMP ਐਫੀਨਿਟੀ ਮੁੱਲ ਨੂੰ ਸੰਬੰਧਿਤ IRQ ਐਂਟਰੀ ਵਿੱਚ ਈਕੋ ਕਰੋ। ਧਿਆਨ ਦਿਓ ਕਿ ਇਹ ਹਰੇਕ IRQ ਐਂਟਰੀ ਲਈ ਕਰਨ ਦੀ ਲੋੜ ਹੈ: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity IRQ ਐਫੀਨਿਟੀ ਦਿਖਾਓ:
- ਸਾਰੇ ਕੋਰਾਂ ਲਈ IRQ ਸਾਂਝ ਦਿਖਾਉਣ ਲਈ: /scripts/set_irq_affinity -s ਐਥਐਕਸ
- ਸਥਾਨਕ NUMA ਸਾਕਟ 'ਤੇ ਸਿਰਫ਼ ਕੋਰ ਦਿਖਾਉਣ ਲਈ: /scripts/set_irq_affinity -s ਸਥਾਨਕ ethX
- ਤੁਸੀਂ ਕੋਰਾਂ ਦੀ ਇੱਕ ਸ਼੍ਰੇਣੀ ਵੀ ਚੁਣ ਸਕਦੇ ਹੋ: /scripts/set_irq_affinity -s 40-0-8,16 ethX
ਨੋਟ ਕਰੋ
set_irq_affinity ਸਕ੍ਰਿਪਟ i40e ਡਰਾਈਵਰ ਵਰਜਨ 2.16.11 ਅਤੇ ਬਾਅਦ ਵਾਲੇ ਵਿੱਚ -s ਫਲੈਗ ਦਾ ਸਮਰਥਨ ਕਰਦੀ ਹੈ।
4.2 ਟੈਕਸ/ਆਰਐਕਸ ਕਤਾਰਾਂ
ਸ਼ੁਰੂਆਤੀ ਸਮੇਂ ਡਰਾਈਵਰ ਦੁਆਰਾ ਹਰੇਕ ਈਥਰਨੈੱਟ ਪੋਰਟ ਲਈ ਯੋਗ ਕੀਤੀਆਂ ਗਈਆਂ ਕਤਾਰਾਂ ਦੀ ਡਿਫਾਲਟ ਸੰਖਿਆ ਪਲੇਟਫਾਰਮ ਵਿੱਚ ਉਪਲਬਧ CPU ਦੀ ਕੁੱਲ ਸੰਖਿਆ ਦੇ ਬਰਾਬਰ ਹੈ। ਇਹ ਬਹੁਤ ਸਾਰੇ ਪਲੇਟਫਾਰਮਾਂ ਅਤੇ ਵਰਕਲੋਡ ਸੰਰਚਨਾਵਾਂ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਉੱਚ ਕੋਰ ਗਿਣਤੀ ਅਤੇ/ਜਾਂ ਉੱਚ ਈਥਰਨੈੱਟ ਪੋਰਟ ਘਣਤਾ ਵਾਲੇ ਪਲੇਟਫਾਰਮਾਂ ਵਿੱਚ, ਇਹ ਸੰਰਚਨਾ ਸਰੋਤ ਵਿਵਾਦ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ। ਇਸ ਲਈ, ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਸਿਸਟਮ ਵਿੱਚ ਹਰੇਕ ਪੋਰਟ ਲਈ ਡਿਫਾਲਟ ਨੂੰ ਸੋਧਣਾ ਜ਼ਰੂਰੀ ਹੋ ਸਕਦਾ ਹੈ।
Tx/Rx ਕਤਾਰਾਂ ਦੀ ਡਿਫਾਲਟ ਗਿਣਤੀ ਖਾਸ ਮਾਡਲ ਅਤੇ ਡਰਾਈਵਰ ਸੰਸਕਰਣ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦੀ ਹੈ। ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਹੇਠਾਂ ਸੂਚੀਬੱਧ ethtool -L ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਐਡਜਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਨੋਟ ਕਰੋ
ਇਹਨਾਂ ਮਾਮਲਿਆਂ ਵਿੱਚ, Intel ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਹਰੇਕ ਪੋਰਟ ਲਈ ਡਿਫਾਲਟ ਕਤਾਰ ਗਿਣਤੀ ਨੂੰ NUMA ਨੋਡ ਵਿੱਚ ਉਪਲਬਧ CPU ਦੀ ਗਿਣਤੀ ਤੋਂ ਵੱਧ ਨਾ ਘਟਾਓ ਜੋ ਕਿ ਅਡੈਪਟਰ ਪੋਰਟ ਲਈ ਸਥਾਨਕ ਹੈ। ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਜਦੋਂ ਉੱਚ ਪੋਰਟ ਗਿਣਤੀ ਲਾਗੂਕਰਨਾਂ 'ਤੇ ਸਰੋਤਾਂ ਨੂੰ ਸੰਤੁਲਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਇਸ ਗਿਣਤੀ ਨੂੰ ਹੋਰ ਵੀ ਘਟਾਉਣਾ ਜ਼ਰੂਰੀ ਹੋ ਸਕਦਾ ਹੈ।
ਕਤਾਰ ਸੰਰਚਨਾ ਨੂੰ ਸੋਧਣ ਲਈ:
ਹੇਠ ਦਿੱਤੇ ਸਾਬਕਾample ਪੋਰਟ ਨੂੰ 32 Tx/Rx ਕਤਾਰਾਂ 'ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ: ethtool -L ethX ਸੰਯੁਕਤ 32
Example ਆਉਟਪੁੱਟ:
ethtool -l ethX
ethX ਲਈ ਚੈਨਲ ਪੈਰਾਮੀਟਰ: ਪਹਿਲਾਂ ਤੋਂ ਸੈੱਟ ਕੀਤੇ ਵੱਧ ਤੋਂ ਵੱਧ:
RX: 96
TX: 96
ਹੋਰ: 1
ਸੰਯੁਕਤ: 96
ਮੌਜੂਦਾ ਹਾਰਡਵੇਅਰ ਸੈਟਿੰਗਾਂ:
RX: 0
TX: 0
ਹੋਰ: 1
ਸੰਯੁਕਤ: 32
4.3 ਇੰਟਰੱਪਟ ਸੰਚਾਲਨ
ਅਡੈਪਟਿਵ ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਡਿਫੌਲਟ ਤੌਰ 'ਤੇ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਘੱਟ CPU ਵਰਤੋਂ ਅਤੇ ਉੱਚ ਪ੍ਰਦਰਸ਼ਨ ਵਿਚਕਾਰ ਇੱਕ ਸੰਤੁਲਿਤ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਹਾਲਾਂਕਿ, ਤੁਸੀਂ ਆਪਣੇ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਫਿੱਟ ਕਰਨ ਲਈ ਇੰਟਰੱਪਟ ਸੈਟਿੰਗਾਂ ਨੂੰ ਹੱਥੀਂ ਟਿਊਨ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ।
0-235 ਮਾਈਕ੍ਰੋਸੈਕਿੰਡ ਦੀ ਰੇਂਜ 4,310 ਤੋਂ 250,000 ਇੰਟਰੱਪਟ ਪ੍ਰਤੀ ਸਕਿੰਟ ਦੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਰੇਂਜ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। rx-μsecs-high ਦਾ ਮੁੱਲ ਉਸੇ ethtool ਕਮਾਂਡ ਵਿੱਚ rx-μsecs ਅਤੇ tx-μsecs ਤੋਂ ਸੁਤੰਤਰ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਹ ਅਨੁਕੂਲ ਇੰਟਰੱਪਟ ਮਾਡਰੇਸ਼ਨ ਐਲਗੋਰਿਦਮ ਤੋਂ ਵੀ ਸੁਤੰਤਰ ਹੈ। ਅੰਡਰਲਾਈੰਗ ਹਾਰਡਵੇਅਰ 2 ਮਾਈਕ੍ਰੋਸੈਕਿੰਡ ਅੰਤਰਾਲਾਂ ਵਿੱਚ ਗ੍ਰੈਨਿਊਲੈਰਿਟੀ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਨਾਲ ਲੱਗਦੇ ਮੁੱਲ ਇੱਕੋ ਇੰਟਰੱਪਟ ਦਰ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੋ ਸਕਦੇ ਹਨ।
- ਅਨੁਕੂਲ ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ: ethtool -C ethX adaptive-rx off adaptive-tx off
- ਅਨੁਕੂਲ ਇੰਟਰੱਪਟ ਸੰਚਾਲਨ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ: ethtool -C ethX adaptive-rx on adaptive-tx on
ਆਮ ਟਿਊਨਿੰਗ ਲਈ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਇੱਕ ਚੰਗੀ ਜਗ੍ਹਾ 84 μs, ਜਾਂ ~12000 ਇੰਟਰੱਪਟ/s ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਦੇਖਦੇ ਹੋ ਕਿ rx_dropped ਕਾਊਂਟਰ ਟ੍ਰੈਫਿਕ ਦੌਰਾਨ ਚੱਲ ਰਹੇ ਹਨ (ethtool -S ethX ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ) ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਸ਼ਾਇਦ CPU ਬਹੁਤ ਹੌਲੀ ਹੈ, ਅਡੈਪਟਰ ਦੇ ਰਿੰਗ ਆਕਾਰ (ethtool -G) ਤੋਂ 84 μs ਲਈ ਪੈਕੇਟ ਰੱਖਣ ਲਈ ਕਾਫ਼ੀ ਬਫਰ ਨਹੀਂ ਹਨ ਜਾਂ ਇੱਕ ਇੰਟਰੱਪਟ ਰੇਟ ਤੋਂ ਘੱਟ ਹਨ।
- ਇੰਟਰੱਪਟ (84 ਇੰਟਰੱਪਟ/ਸਕਿੰਟ) ਦੇ ਵਿਚਕਾਰ 12000 μs ਦੀ ਇੱਕ ਸਥਿਰ ਇੰਟਰੱਪਟ ਦਰ 'ਤੇ ਇੰਟਰੱਪਟ ਸੰਚਾਲਨ ਸੈੱਟ ਕਰਨ ਲਈ: ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 ਜੇਕਰ ਤੁਸੀਂ CPU ਉਪਯੋਗਤਾ 'ਤੇ ਵੱਧ ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੋ, ਤਾਂ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਅਗਲਾ ਮੁੱਲ 62 μs ਹੈ। ਇਹ ਵਧੇਰੇ CPU ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਪਰ ਇਹ ਬਫਰਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸੇਵਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਘੱਟ ਵਰਣਨਕਰਤਾਵਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ (ਰਿੰਗ ਆਕਾਰ, ethtool -G)।
- ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਨੂੰ ਇੰਟਰੱਪਟ ਦੇ ਵਿਚਕਾਰ 62 ਯੂਸੇਕਸ (16000 ਇੰਟਰੱਪਟ/ਸਕਿੰਟ) ਦੀ ਸਥਿਰ ਇੰਟਰੱਪਟ ਦਰ 'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ। ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
ਜੇਕਰ rx_dropped ਕਾਊਂਟਰ ਟ੍ਰੈਫਿਕ ਦੌਰਾਨ ਵਧਦੇ ਹਨ (ethtool -S ethX ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ), ਤਾਂ ਸ਼ਾਇਦ ਤੁਹਾਡੇ ਕੋਲ CPU ਬਹੁਤ ਹੌਲੀ ਹੈ, ਅਡੈਪਟਰ ਦੇ ਰਿੰਗ ਆਕਾਰ (ethtool -G) ਤੋਂ ਕਾਫ਼ੀ ਬਫਰ ਨਹੀਂ ਹਨ, ਜਾਂ ਇੱਕ ਇੰਟਰੱਪਟ ਦਰ ਬਹੁਤ ਘੱਟ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ CPU ਉਪਯੋਗਤਾ 'ਤੇ ਵੱਧ ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੋ, ਤਾਂ ਤੁਸੀਂ ITR ਮੁੱਲ ਨੂੰ ਘਟਾ ਕੇ ਇੰਟਰੱਪਟ ਦਰ ਵਧਾ ਸਕਦੇ ਹੋ। ਇਹ ਵਧੇਰੇ CPU ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਪਰ ਸੇਵਾਵਾਂ ਤੇਜ਼ੀ ਨਾਲ ਬਫਰ ਕਰਦੀਆਂ ਹਨ, ਅਤੇ ਘੱਟ ਡਿਸਕ੍ਰਿਪਟਰਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ (ਰਿੰਗ ਆਕਾਰ, ethtool -G)।
ਜੇਕਰ ਤੁਹਾਡਾ CPU 100% 'ਤੇ ਹੈ, ਤਾਂ ਇੰਟਰੱਪਟ ਰੇਟ ਵਧਾਉਣ ਦੀ ਸਲਾਹ ਨਹੀਂ ਦਿੱਤੀ ਜਾਂਦੀ। ਕੁਝ ਖਾਸ ਹਾਲਾਤਾਂ ਵਿੱਚ ਜਿਵੇਂ ਕਿ CPU ਨਾਲ ਜੁੜੇ ਵਰਕਲੋਡ ਵਿੱਚ, ਤੁਸੀਂ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਵਧੇਰੇ CPU ਸਮਾਂ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ μs ਮੁੱਲ ਵਧਾਉਣਾ ਚਾਹ ਸਕਦੇ ਹੋ।
ਜੇਕਰ ਤੁਹਾਨੂੰ ਘੱਟ ਲੇਟੈਂਸੀ ਪ੍ਰਦਰਸ਼ਨ ਦੀ ਲੋੜ ਹੈ ਅਤੇ/ਜਾਂ ਨੈੱਟਵਰਕ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਸਮਰਪਿਤ ਕਰਨ ਲਈ ਬਹੁਤ ਸਾਰਾ CPU ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇੰਟਰੱਪਟ ਮਾਡਰੇਸ਼ਨ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਯੋਗ ਕਰ ਸਕਦੇ ਹੋ, ਜੋ ਇੰਟਰੱਪਟਾਂ ਨੂੰ ਜਿੰਨੀ ਜਲਦੀ ਹੋ ਸਕੇ ਫਾਇਰ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। - ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਨੂੰ ਅਯੋਗ ਕਰਨ ਲਈ ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
ਨੋਟ ਕਰੋ
ਜਦੋਂ ਇੰਟਰੱਪਟ ਮਾਡਰੇਸ਼ਨ ਅਯੋਗ ਹੋਵੇ, ਤਾਂ ਹਰੇਕ ਕਤਾਰ 'ਤੇ ਇੰਟਰੱਪਟ ਰੇਟ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੋ ਸਕਦਾ ਹੈ। ਇੰਟਰੱਪਟ ਰੇਟ 'ਤੇ ਇੱਕ ਉੱਚ ਸੀਮਾ ਸੈੱਟ ਕਰਨ ਲਈ rx-usec-high ਪੈਰਾਮੀਟਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਅਨੁਕੂਲ ਇੰਟਰੱਪਟ ਮਾਡਰੇਸ਼ਨ ਨੂੰ ਅਯੋਗ ਕਰਦੀ ਹੈ ਅਤੇ ਇੱਕ ਪ੍ਰਾਪਤ ਜਾਂ ਟ੍ਰਾਂਸਮਿਟ ਪੂਰਾ ਹੋਣ ਦਾ ਸੰਕੇਤ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਵੱਧ ਤੋਂ ਵੱਧ 5 ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਪ੍ਰਤੀ ਸਕਿੰਟ 200,000 ਇੰਟਰੱਪਟ ਹੋਣ ਦੀ ਬਜਾਏ, ਇਹ rx-usec-high ਪੈਰਾਮੀਟਰ ਰਾਹੀਂ ਪ੍ਰਤੀ ਸਕਿੰਟ ਕੁੱਲ ਇੰਟਰੱਪਟ ਨੂੰ 50,000 ਤੱਕ ਸੀਮਤ ਕਰਦਾ ਹੈ। # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 ਵਰਕਲੋਡ ਲਈ ਅਨੁਕੂਲ ਮੁੱਲ ਲੱਭਣ ਲਈ ਟ੍ਰਾਂਸਮਿਟ/ਰਿਸੀਵ/ਹਾਈ-ਪ੍ਰਾਥਮਿਕਤਾ ਕੋਲੇਸਿੰਗ ਟਾਈਮਰ ਨੂੰ ਉੱਚ (80/100/150/200) ਜਾਂ ਘੱਟ (25/20/10/5) ਨੂੰ ਐਡਜਸਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
4.4 ਰਿੰਗ ਦਾ ਆਕਾਰ
ਜੇਕਰ ਤੁਸੀਂ ethtool -S ethX (rx_dropped, rx_dropped.nic) ਵਿੱਚ rx_dropped ਕਾਊਂਟਰ ਦੇਖ ਰਹੇ ਹੋ, ਜਾਂ ਕਈ ਕਤਾਰਾਂ ਸਰਗਰਮ ਹੋਣ ਦੇ ਨਾਲ ਸ਼ੱਕੀ ਕੈਸ਼ ਪ੍ਰੈਸ਼ਰ ਦੇਖ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਡਿਫਾਲਟ ਮੁੱਲ ਤੋਂ ਰਿੰਗ ਆਕਾਰ ਨੂੰ ਐਡਜਸਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ। ਡਿਫਾਲਟ ਮੁੱਲ 512 ਹੈ, ਵੱਧ ਤੋਂ ਵੱਧ 4096 ਹੈ।
- ਮੌਜੂਦਾ ਮੁੱਲਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ: ethtool -g ethX
ਜੇਕਰ ਇਹ ਸ਼ੱਕ ਹੈ ਕਿ ਬਫਰਿੰਗ ਦੀ ਘਾਟ ਮੌਜੂਦਾ ਇੰਟਰੱਪਟ ਦਰ 'ਤੇ ਗਿਰਾਵਟ ਦਾ ਕਾਰਨ ਬਣ ਰਹੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਵੱਧ ਤੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ, ਫਿਰ ਘੱਟੋ-ਘੱਟ, ਫਿਰ ਬਾਈਨਰੀ ਖੋਜ ਵਿੱਚ ਜਾਰੀ ਰੱਖੋ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਅਨੁਕੂਲ ਪ੍ਰਦਰਸ਼ਨ ਨਹੀਂ ਦੇਖਦੇ।
ਜੇਕਰ ਕੈਸ਼ ਪ੍ਰੈਸ਼ਰ ਦਾ ਸ਼ੱਕ ਹੈ (ਬਹੁਤ ਸਾਰੀਆਂ ਕਤਾਰਾਂ ਸਰਗਰਮ ਹਨ) ਤਾਂ ਡਿਫੌਲਟ ਤੋਂ ਬਫਰਾਂ ਨੂੰ ਘਟਾਉਣ ਨਾਲ Intel® Data Direct I/O (Intel® DDIO) ਨੂੰ ਬਿਹਤਰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਕੰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ। Intel ਪ੍ਰਤੀ ਕਤਾਰ 128 ਜਾਂ 256 ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ, ਇਹ ਜਾਣਦੇ ਹੋਏ ਕਿ rx_dropped ਵਿੱਚ ਵਾਧੇ ਤੋਂ ਬਚਣ ਲਈ ethtool -C ਰਾਹੀਂ ਇੰਟਰੱਪਟ ਦਰ ਵਿੱਚ ਵਾਧਾ ਜ਼ਰੂਰੀ ਹੋ ਸਕਦਾ ਹੈ। - ਰਿੰਗ ਦੇ ਆਕਾਰ ਨੂੰ ਸਥਿਰ ਮੁੱਲ 'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ: ethtool -G eth12 rx 256 tx 256
ਨੋਟ ਕਰੋ
ethtool -S ethX|grep ਡ੍ਰੌਪ ਨਾਲ ਮਿਲੇ Rx ਪੈਕੇਟ ਡ੍ਰੌਪਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਰਿੰਗ ਦਾ ਆਕਾਰ 4096 ਤੱਕ ਵਧਾਉਣ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਵਰਕਲੋਡ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਸੈਟਿੰਗ ਲੱਭਣ ਲਈ ਪ੍ਰਯੋਗ ਕਰੋ ਪਰ ਉੱਚ ਮੁੱਲਾਂ ਨਾਲ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮੈਮੋਰੀ ਵਰਤੋਂ ਤੋਂ ਸਾਵਧਾਨ ਰਹੋ।
4.5 ਵਹਾਅ ਨਿਯੰਤਰਣ
ਲੇਅਰ 2 ਫਲੋ ਕੰਟਰੋਲ TCP ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਕਾਫ਼ੀ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਵਰਕਲੋਡਾਂ ਲਈ ਇਸਨੂੰ ਅਯੋਗ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇੱਕ ਸੰਭਾਵੀ ਅਪਵਾਦ ਬਰਸਟੀ ਟ੍ਰੈਫਿਕ ਹੈ ਜਿੱਥੇ ਬਰਸਟ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਨਹੀਂ ਹੁੰਦੇ।
ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਮੂਲ ਰੂਪ ਵਿੱਚ ਅਯੋਗ ਹੁੰਦਾ ਹੈ।
- ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ: ethtool -A ethX rx on tx on
- ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ ਨੂੰ ਅਯੋਗ ਕਰਨ ਲਈ: ethtool -A ethX rx off tx off
ਨੋਟ ਕਰੋ
ਫਲੋ ਕੰਟਰੋਲ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਸਮਰੱਥ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਫਲੋ ਕੰਟਰੋਲ ਸਮਰੱਥ ਲਿੰਕ ਪਾਰਟਨਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
4.6 ਜੰਬੋ ਫਰੇਮ
ਜਦੋਂ ਸੰਭਾਵਿਤ ਟ੍ਰੈਫਿਕ ਵਾਤਾਵਰਣ ਵਿੱਚ ਡੇਟਾ ਦੇ ਵੱਡੇ ਬਲਾਕ ਟ੍ਰਾਂਸਫਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਜੰਬੋ ਫਰੇਮ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦਾ ਹੈ। ਜੰਬੋ ਫਰੇਮ ਸਹਾਇਤਾ ਨੂੰ ਅਧਿਕਤਮ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਯੂਨਿਟ (MTU) ਨੂੰ 1500 ਦੇ ਡਿਫੌਲਟ ਮੁੱਲ ਤੋਂ ਵੱਡੇ ਮੁੱਲ ਵਿੱਚ ਬਦਲ ਕੇ ਸਮਰੱਥ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਡਿਵਾਈਸ ਨੂੰ ਨੈੱਟਵਰਕ ਵਾਤਾਵਰਣ ਦੇ ਅੰਦਰ ਵੱਡੇ ਪੈਕੇਟਾਂ ਵਿੱਚ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਸੈਟਿੰਗ ਥ੍ਰੁਪੁੱਟ ਨੂੰ ਬਿਹਤਰ ਬਣਾ ਸਕਦੀ ਹੈ ਅਤੇ ਵੱਡੇ I/O ਵਰਕਲੋਡਾਂ ਲਈ CPU ਉਪਯੋਗਤਾ ਨੂੰ ਘਟਾ ਸਕਦੀ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਛੋਟੇ ਪੈਕੇਟ ਜਾਂ ਲੇਟੈਂਸੀ-ਸੰਵੇਦਨਸ਼ੀਲ ਵਰਕਲੋਡਾਂ ਨੂੰ ਪ੍ਰਭਾਵਤ ਕਰ ਸਕਦੀ ਹੈ।
ਨੋਟ ਕਰੋ
ਜੰਬੋ ਫਰੇਮ ਜਾਂ ਵੱਡੇ MTU ਸੈਟਿੰਗ ਤੁਹਾਡੇ ਨੈੱਟਵਰਕ ਵਾਤਾਵਰਣ ਵਿੱਚ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ।
MTU ਆਕਾਰ ਵਧਾਉਣ ਲਈ ifconfig ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਉਦਾਹਰਣ ਵਜੋਂample, ਹੇਠ ਲਿਖਿਆਂ ਨੂੰ ਦਰਜ ਕਰੋ, ਜਿੱਥੇ ਇੰਟਰਫੇਸ ਨੰਬਰ ਹੈ: ifconfig mtu 9000 ਉੱਪਰ
ਵਿਕਲਪਕ ਤੌਰ 'ਤੇ, ਤੁਸੀਂ ip ਕਮਾਂਡ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਵਰਤ ਸਕਦੇ ਹੋ: ip link set mtu 9000 dev ਆਈਪੀ ਲਿੰਕ ਸੈੱਟਅੱਪ ਡਿਵੈਲਪਰ
ਪਲੇਟਫਾਰਮ ਟਿਊਨਿੰਗ (i40e ਗੈਰ-ਵਿਸ਼ੇਸ਼)
5.1 BIOS ਸੈਟਿੰਗਾਂ
- ਵਰਚੁਅਲਾਈਜੇਸ਼ਨ ਵਰਕਲੋਡ ਲਈ Intel® VT-d ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ।
- ਹਾਈਪਰ-ਥ੍ਰੈਡਿੰਗ (ਲਾਜ਼ੀਕਲ ਪ੍ਰੋਸੈਸਰ) ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਆਪਣੇ ਵਰਕਲੋਡ ਲਈ ਇਸਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਕੇ ਪ੍ਰਯੋਗ ਕਰੋ।
- Intel® Turbo Boost CPU ਕੋਰਾਂ ਨੂੰ CPU ਦੀ ਬੇਸ ਫ੍ਰੀਕੁਐਂਸੀ ਨਾਲੋਂ ਵੱਧ ਫ੍ਰੀਕੁਐਂਸੀ 'ਤੇ ਕੰਮ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। Intel® Turbo Boost ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਨਾਲ ਕਈ ਵਰਕਲੋਡਾਂ ਲਈ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੋ ਸਕਦਾ ਹੈ ਪਰ ਕੋਰਾਂ ਨੂੰ ਉੱਚ ਫ੍ਰੀਕੁਐਂਸੀ 'ਤੇ ਰੱਖਣ ਲਈ ਵਧੇਰੇ ਪਾਵਰ ਦੀ ਖਪਤ ਹੁੰਦੀ ਹੈ। ਆਪਣੇ ਵਰਕਲੋਡ ਲਈ Turbo Boost ਨੂੰ ਬੰਦ/ਚਾਲੂ ਕਰਕੇ ਪ੍ਰਯੋਗ ਕਰੋ।
ਨੋਟ ਕਰੋ
ਜੇਕਰ ਪਲੇਟਫਾਰਮ ਉੱਚ ਸਮੁੱਚੀ CPU ਵਰਤੋਂ ਦਾ ਅਨੁਭਵ ਕਰ ਰਿਹਾ ਹੈ ਤਾਂ ਟਰਬੋ ਫ੍ਰੀਕੁਐਂਸੀ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਹੈ। ਸਮੁੱਚੀ CPU ਵਰਤੋਂ ਵਧਣ ਨਾਲ ਉੱਚ ਕੋਰ ਟਰਬੋ ਫ੍ਰੀਕੁਐਂਸੀ ਘੱਟ ਜਾਂਦੀ ਹੈ।
5.2 ਪਾਵਰ ਪ੍ਰਬੰਧਨ
ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਘੱਟ ਲੇਟੈਂਸੀ ਵਰਕਲੋਡਾਂ ਵਿੱਚ। ਜੇਕਰ ਪ੍ਰਦਰਸ਼ਨ ਬਿਜਲੀ ਦੀ ਖਪਤ ਨੂੰ ਘਟਾਉਣ ਨਾਲੋਂ ਉੱਚ ਤਰਜੀਹ ਹੈ, ਤਾਂ ਇੰਟੇਲ ਸਿਫਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਦੇ ਪ੍ਰਭਾਵਾਂ ਨੂੰ ਸੀਮਤ ਕਰਨ ਲਈ ਪ੍ਰਯੋਗ ਕਰੋ। ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਟੂਲਸ, BIOS ਸੈਟਿੰਗਾਂ, ਅਤੇ ਕਰਨਲ ਬੂਟ ਪੈਰਾਮੀਟਰਾਂ ਰਾਹੀਂ ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸੀਮਤ ਕਰਨ ਦੇ ਬਹੁਤ ਸਾਰੇ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਹਨ। ਆਪਣੇ ਵਾਤਾਵਰਣ ਦੇ ਅਨੁਕੂਲ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਅਤੇ ਪੱਧਰ ਚੁਣੋ।
5.2.1 ਸੀ-ਸਟੇਟ ਕੰਟਰੋਲ
C-ਸਟੇਟ ਐਂਟਰੀ ਨੂੰ CO ਜਾਂ C1 ਤੱਕ ਸੀਮਤ ਕਰਨ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ ਅਤੇ ਪਾਵਰ ਵਰਤੋਂ ਵਧਦੀ ਹੈ।
CPU ਪੈਕੇਜ C6 ਸਟੇਟ ਐਂਟਰੀ ਨੂੰ ਅਯੋਗ ਕਰਨ ਨਾਲ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੋ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਪਾਵਰ ਵਰਤੋਂ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ।
ਹੇਠਾਂ ਦਿੱਤੇ ਵਿਕਲਪ ਉਪਲਬਧ ਹਨ:
- ਸੀ-ਸਟੇਟ ਐਂਟਰੀ ਨੂੰ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਕੰਟਰੋਲ ਕਰੋ:
ਖੋਲ੍ਹੋ
/dev/cpu_dma_latency ਅਤੇ ਇਸ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਲੇਟੈਂਸੀ ਲਿਖੋ।
ਨੋਟ ਕਰੋ
cpudmalatency.c ਨਾਮਕ ਇੱਕ ਛੋਟਾ ਜਿਹਾ ਪ੍ਰੋਗਰਾਮ ਹੈ ਜਿਸਨੂੰ ਓਪਨ ਸੋਰਸ ਕਮਿਊਨਿਟੀ ਤੋਂ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਕੰਪਾਇਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਹੀ ਕਰਨ ਲਈ ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
ਹੇਠ ਦਿੱਤੇ ਸਾਬਕਾample ਪੰਜ μs ਜਾਗਣ ਦੇ ਸਮੇਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ C1 ਐਂਟਰੀ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ: cpudmalatency 5 &
- ਕਰਨਲ ਬੂਟ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ C-ਸਟੇਟ ਸੀਮਿਤ ਕਰੋ:
ਇੰਟੇਲ ਸੀਪੀਯੂ ਲਈ: intel_idle.max_cstates=1
ਗੈਰ-ਇੰਟੈਲ CPU ਲਈ: processor.max_cstates=1 - CPU C6 ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਅਤੇ ਅਯੋਗ ਕਰਨ ਲਈ cpupower ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ: ਜਾਂਚ ਕਰੋ: cpupower ਮਾਨੀਟਰ ਜਾਂ cpupower idle-info
C6 ਨੂੰ ਅਯੋਗ ਕਰੋ: cpupower idle-set -d3 ਜਾਂ
C-ਸਟੇਟਸ ਨੂੰ ਅਯੋਗ ਕਰੋ: cpupower idle-set -D0
ਨੋਟ:
- ਜੇਕਰ ਸਰਵਰ ਕੋਲ Intel® 4th Gen Intel® Xeon® ਸਕੇਲੇਬਲ ਪ੍ਰੋਸੈਸਰ(ਸ) ਹਨ ਤਾਂ CPU 'ਤੇ C-ਸਟੇਟਸ ਨੂੰ ਅਯੋਗ ਕਰੋ। ਜਦੋਂ ਹਾਈਪਰ ਥ੍ਰੈਡਿੰਗ ਸਮਰੱਥ ਜਾਂ ਅਯੋਗ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਨਿਸ਼ਕਿਰਿਆ ਅਵਸਥਾਵਾਂ (-D0) ਨੂੰ ਅਯੋਗ ਕਰਨ ਨਾਲ ਕੋਰਾਂ ਨੂੰ ਨਿਸ਼ਕਿਰਿਆ ਅਵਧੀ ਦੌਰਾਨ ਘੱਟ-ਪਾਵਰ ਸਥਿਤੀਆਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ CPU ਲਈ ਨਿਸ਼ਕਿਰਿਆ ਅਤੇ ਕਿਰਿਆਸ਼ੀਲ ਸਥਿਤੀਆਂ ਵਿਚਕਾਰ ਤਬਦੀਲੀ ਲਈ ਲੇਟੈਂਸੀ ਘਟਦੀ ਹੈ।
- Intel® 4th Gen Intel® Xeon® Scalable ਪ੍ਰੋਸੈਸਰ ਦਾ ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਬਹੁਤ ਹੀ ਹਮਲਾਵਰ ਹੈ। ਕੋਰਾਂ ਨੂੰ ਘੱਟ-ਪਾਵਰ ਸਥਿਤੀਆਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਣ ਲਈ, ਉਹਨਾਂ ਨੂੰ ਲੰਬੇ ਸਮੇਂ ਲਈ ਜਾਗਦੇ ਰੱਖਣ ਲਈ ਵਰਤੋਂ ਵਿੱਚ ਕੋਰਾਂ ਦੀ ਗਿਣਤੀ ਘਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ (ethtool -L ਸੰਯੁਕਤ ). ਨਾਲ ਹੀ, ਸੈੱਟ irq ਐਫੀਨਿਟੀ (ਜ਼ਿਆਦਾਤਰ -x ਲੋਕਲ ਜਾਂ CPU ਕੋਰਾਂ ਦੀ ਸੂਚੀ ਦੇ ਨਾਲ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਖਾਸ ਕੋਰਾਂ ਨਾਲ ਇੰਟਰੱਪਟ ਬੰਨ੍ਹੋ, ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਵਰਕਲੋਡ ਟਾਸਕਸੈੱਟ ਜਾਂ numactl ਨਾਲ ਉਹਨਾਂ ਹੀ ਕੋਰਾਂ 'ਤੇ ਚੱਲਦਾ ਹੈ। ਇਹ ਕੋਰਾਂ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਰੱਖ ਕੇ ਅਤੇ ਇੰਟਰੱਪਟ ਹੈਂਡਲਿੰਗ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾ ਕੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ।
C6 ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ:
cpupower ਆਈਡਲ-ਸੈੱਟ -d3
ਸੀ-ਸਟੇਟਸ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ:
cpupower ਆਈਡਲ-ਸੈੱਟ -E
- ਇੱਕ ਹੋਰ ਤਰੀਕਾ ਹੈ ਕਿ ਇੱਕ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰੋ ਸੈੱਟ ਕਰਨ ਲਈ ਟਿਊਨਡ ਟੂਲ (ਕਈ ਲੀਨਕਸ ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨਾਂ ਦੇ ਨਾਲ ਸ਼ਾਮਲ) ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇ।file. ਇਨ੍ਹਾਂ ਪ੍ਰੋfiles ਕਈ OS ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੋਧਦੇ ਹਨ ਜੋ ਕਈ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਇਹ ਪਾਇਆ ਗਿਆ ਹੈ ਕਿ ਨੈੱਟਵਰਕ-ਥਰੂਪੁੱਟ ਪ੍ਰੋfile ਜ਼ਿਆਦਾਤਰ ਕੰਮ ਦੇ ਬੋਝ ਵਿੱਚ ਸੁਧਾਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਜਾਂਚ ਕਰੋ:
ਟਿਊਨਡ-ਐਡਐਮ ਐਕਟਿਵ
ਸੈੱਟ:
ਟਿਊਨਡ-ਐਡਐਮ ਪ੍ਰੋfile ਨੈੱਟਵਰਕ-ਥਰੂਪੁੱਟ
ਨੋਟ ਕਰੋ
ਉੱਪਰ ਦਿੱਤੇ ਹੁਕਮਾਂ ਲਈ ਟਿਊਨਡ ਸੇਵਾ ਚੱਲ ਰਹੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਜਾਂਚ/ਮੁੜ-ਚਾਲੂ ਕਰਨ ਲਈ, ਟਿਊਨ ਕੀਤਾ ਗਿਆ: systemctl ਸਥਿਤੀ ਟਿਊਨ ਕੀਤੀ ਗਈ systemctl ਰੀਸਟਾਰਟ ਟਿਊਨ ਕੀਤੀ ਗਈ
ਤੁਸੀਂ ਕਰਨਲ ਬੂਟ ਲਾਈਨ ਵਿੱਚ ਹੇਠ ਲਿਖੀ ਜਾਣਕਾਰੀ ਜੋੜ ਕੇ ਕਿਸੇ ਵੀ C-state ਐਂਟਰੀ ਨੂੰ ਵੀ ਅਸਵੀਕਾਰ ਕਰ ਸਕਦੇ ਹੋ:
ਵਿਹਲਾ=ਪੋਲ - ਸਿਸਟਮ ਦੀਆਂ BIOS ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਸੈਟਿੰਗਾਂ ਰਾਹੀਂ C-ਸਟੇਟ ਨੂੰ ਸੀਮਤ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰੋ ਹੋ ਸਕਦਾ ਹੈfile ਉਪਲਬਧ ਹੈ।
ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਜਾਂ ਸੈੱਟ ਕਰਨ ਲਈ ਟਰਬੋਸਟੈਟ ਜਾਂ x86_energy_perf_policy ਵਰਗੇ ਟੂਲ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ।
5.2.2 PCIe ਪਾਵਰ ਪ੍ਰਬੰਧਨ
ਐਕਟਿਵ-ਸਟੇਟ ਪਾਵਰ ਮੈਨੇਜਮੈਂਟ (ASPM) PCIe ਲਿੰਕਾਂ ਲਈ ਘੱਟ ਪਾਵਰ ਸਟੇਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ ਜਦੋਂ ਉਹ ਸਰਗਰਮ ਵਰਤੋਂ ਵਿੱਚ ਨਹੀਂ ਹੁੰਦੇ ਹਨ। ਇਹ PCIe ਨੈੱਟਵਰਕ ਡਿਵਾਈਸਾਂ 'ਤੇ ਉੱਚ ਲੇਟੈਂਸੀ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ Intel ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਲੇਟੈਂਸੀ-ਸੰਵੇਦਨਸ਼ੀਲ ਵਰਕਲੋਡ ਲਈ ASPM ਨੂੰ ਅਯੋਗ ਕਰੋ। ਕਰਨਲ ਬੂਟ ਲਾਈਨ ਵਿੱਚ ਹੇਠ ਲਿਖਿਆਂ ਨੂੰ ਜੋੜ ਕੇ ASPM ਨੂੰ ਅਯੋਗ ਕਰੋ: pcie_aspm=off
5.2.3 CPU ਫ੍ਰੀਕੁਐਂਸੀ ਸਕੇਲਿੰਗ
CPU ਫ੍ਰੀਕੁਐਂਸੀ ਸਕੇਲਿੰਗ (ਜਾਂ CPU ਸਪੀਡ ਸਕੇਲਿੰਗ) ਇੱਕ ਲੀਨਕਸ ਪਾਵਰ ਮੈਨੇਜਮੈਂਟ ਤਕਨੀਕ ਹੈ ਜਿਸ ਵਿੱਚ ਪਾਵਰ ਅਤੇ ਗਰਮੀ ਬਚਾਉਣ ਲਈ ਸਿਸਟਮ ਕਲਾਕ ਸਪੀਡ ਨੂੰ ਤੁਰੰਤ ਐਡਜਸਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। C-ਸਟੇਟਸ ਵਾਂਗ, ਇਹ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ 'ਤੇ ਅਣਚਾਹੇ ਲੇਟੈਂਸੀ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ।
cpupower ਟੂਲ ਨੂੰ CPU ਪ੍ਰਦਰਸ਼ਨ ਡਿਫਾਲਟ ਅਤੇ ਸੀਮਾਵਾਂ ਦੀ ਜਾਂਚ ਅਤੇ ਸੋਧ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ:
- ਚੈੱਕ ਕਰੋ: cpupower ਮਾਨੀਟਰ ਜਾਂ
- CPUs ਨੂੰ ਪ੍ਰਦਰਸ਼ਨ ਮੋਡ 'ਤੇ ਸੈੱਟ ਕਰੋ: cpupower frequency-set -g ਪ੍ਰਦਰਸ਼ਨ
ਨੋਟ ਕਰੋ
CPU ਬਾਰੰਬਾਰਤਾ ਸੀਮਾਵਾਂ ਵਿੱਚ ਸੋਧਾਂ ਦਾ ਬਹੁਤ ਸਾਰੇ ਵਰਕਲੋਡਾਂ 'ਤੇ ਪ੍ਰਭਾਵ ਪੈ ਸਕਦਾ ਹੈ ਅਤੇ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਜਿਵੇਂ ਕਿ CPU ਟਰਬੋ ਮੋਡ, ਨੂੰ ਅਯੋਗ ਕਰ ਸਕਦਾ ਹੈ।
CPU ਫ੍ਰੀਕੁਐਂਸੀ ਸਕੇਲਿੰਗ ਨੂੰ ਅਯੋਗ ਕਰਨ ਲਈ, ਹੇਠ ਲਿਖੀਆਂ ਕਮਾਂਡਾਂ ਦੁਆਰਾ CPU ਪਾਵਰ ਸੇਵਾ ਨੂੰ ਅਯੋਗ ਕਰੋ:
systemctl cpupower.service ਨੂੰ ਰੋਕੋ
systemctl cpupower.service ਨੂੰ ਅਯੋਗ ਕਰੋ
5.2.4 ਵਾਧੂ ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਮਾਰਗਦਰਸ਼ਨ
ਇਸ ਉੱਚ-ਪੱਧਰੀ ਓਵਰ ਵਿੱਚ ਵਾਧੂ ਵੇਰਵੇ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨview ਤੀਜੀ ਪੀੜ੍ਹੀ ਦੇ Intel® Xeon® ਸਕੇਲੇਬਲ ਪ੍ਰੋਸੈਸਰਾਂ ਵਿੱਚ ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚੋਂ ਬਹੁਤ ਸਾਰੀਆਂ ਦਾ ਵੇਰਵਾ, ਅਤੇ ਨਾਲ ਹੀ ਇਹਨਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਪਲੇਟਫਾਰਮ ਪੱਧਰ 'ਤੇ ਕਿਵੇਂ ਏਕੀਕ੍ਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਇਸ ਬਾਰੇ ਮਾਰਗਦਰਸ਼ਨ: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 ਇੰਟੇਲ® ਟਰਬੋ ਬੂਸਟ
ਇੰਟੇਲ® ਟਰਬੋ ਬੂਸਟ ਲੋੜ ਪੈਣ 'ਤੇ ਪ੍ਰੋਸੈਸਰ ਨੂੰ ਤੇਜ਼ ਬਣਾਉਂਦਾ ਹੈ ਪਰ ਵਾਧੂ ਪਾਵਰ ਦੀ ਖਪਤ ਕਰ ਸਕਦਾ ਹੈ। ਟਰਬੋ ਬੂਸਟ ਨੂੰ ਬੰਦ ਕਰਨ ਨਾਲ ਪ੍ਰੋਸੈਸਰ ਇੱਕ ਸਥਿਰ ਗਤੀ 'ਤੇ ਰਹਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਹਾਨੂੰ ਖਾਸ ਵਰਕਲੋਡ ਲਈ ਇੱਕਸਾਰ ਪ੍ਰਦਰਸ਼ਨ ਪੱਧਰ ਮਿਲਦਾ ਹੈ।
5.4 ਫਾਇਰਵਾਲ
ਫਾਇਰਵਾਲ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ, ਖਾਸ ਕਰਕੇ ਲੇਟੈਂਸੀ ਪ੍ਰਦਰਸ਼ਨ।
ਜੇਕਰ ਲੋੜ ਨਾ ਹੋਵੇ ਤਾਂ iptables/firewalld ਨੂੰ ਅਯੋਗ ਕਰੋ।
5.5 ਐਪਲੀਕੇਸ਼ਨ ਸੈਟਿੰਗਜ਼
ਅਕਸਰ ਇੱਕ ਸਿੰਗਲ ਥ੍ਰੈੱਡ (ਜੋ ਕਿ ਇੱਕ ਸਿੰਗਲ ਨੈੱਟਵਰਕ ਕਤਾਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ) ਵੱਧ ਤੋਂ ਵੱਧ ਬੈਂਡਵਿਡਥ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਨਹੀਂ ਹੁੰਦਾ। ਕੁਝ ਪਲੇਟਫਾਰਮ ਆਰਕੀਟੈਕਚਰ, ਜਿਵੇਂ ਕਿ AMD, ਇੰਟੇਲ-ਅਧਾਰਿਤ ਪ੍ਰੋਸੈਸਰਾਂ ਵਾਲੇ ਪਲੇਟਫਾਰਮਾਂ ਦੇ ਮੁਕਾਬਲੇ ਇੱਕ ਸਿੰਗਲ ਥ੍ਰੈੱਡ ਨਾਲ ਵਧੇਰੇ Rx ਪੈਕੇਟ ਸੁੱਟਦੇ ਹਨ।
ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ NUMA ਨੋਡ ਜਾਂ CPU ਕੋਰਾਂ ਨੂੰ ਨੈੱਟਵਰਕ ਡਿਵਾਈਸ ਤੇ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਪਿੰਨ ਕਰਨ ਲਈ ਟਾਸਕਸੈੱਟ ਜਾਂ numactl ਵਰਗੇ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਸਟੋਰੇਜ I/O ਵਰਗੇ ਕੁਝ ਵਰਕਲੋਡਾਂ ਲਈ, ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਗੈਰ-ਸਥਾਨਕ ਨੋਡ ਤੇ ਲਿਜਾਣ ਨਾਲ ਲਾਭ ਮਿਲਦਾ ਹੈ।
ਜੇਕਰ ਸੰਭਵ ਹੋਵੇ ਤਾਂ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਦੁਆਰਾ ਵਰਤੇ ਗਏ ਥ੍ਰੈੱਡਾਂ ਦੀ ਗਿਣਤੀ ਵਧਾਉਣ ਦਾ ਪ੍ਰਯੋਗ ਕਰੋ।
5.6 ਕਰਨਲ ਵਰਜਨ
ਜ਼ਿਆਦਾਤਰ ਆਧੁਨਿਕ ਇਨ-ਬਾਕਸ ਕਰਨਲ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਕਾਫ਼ੀ ਵਧੀਆ ਅਨੁਕੂਲਿਤ ਹਨ ਪਰ, ਤੁਹਾਡੇ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ ਦੇ ਅਧਾਰ ਤੇ, ਕਰਨਲ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੋ ਸਕਦਾ ਹੈ। ਸਰੋਤ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਨਾਲ ਤੁਸੀਂ ਕਰਨਲ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਮਰੱਥ/ਅਯੋਗ ਕਰਨ ਦੇ ਯੋਗ ਵੀ ਬਣਦੇ ਹੋ।
5.7 ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ/ਕਰਨਲ ਸੈਟਿੰਗਾਂ
ਆਮ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਟਿਊਨਿੰਗ ਬਾਰੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਟਿਊਨਿੰਗ ਗਾਈਡਾਂ, ਜਿਵੇਂ ਕਿ Red Hat Enterprise Linux ਨੈੱਟਵਰਕ ਪਰਫਾਰਮੈਂਸ ਟਿਊਨਿੰਗ ਗਾਈਡ, ਵੇਖੋ।
ਟਿਊਨ ਕਰਨ ਲਈ ਕੁਝ ਆਮ ਮਾਪਦੰਡ ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਦਿੱਤੇ ਗਏ ਹਨ। ਧਿਆਨ ਦਿਓ ਕਿ ਇਹ ਸਿਰਫ਼ ਸੁਝਾਏ ਗਏ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਨੂੰ ਡਿਫੌਲਟ ਤੋਂ ਬਦਲਣ ਨਾਲ ਸਿਸਟਮ 'ਤੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਰੋਤਾਂ ਵਿੱਚ ਵਾਧਾ ਹੋ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ ਮੁੱਲਾਂ ਨੂੰ ਵਧਾਉਣ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ, ਪਰ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਮੁੱਲਾਂ ਨਾਲ ਪ੍ਰਯੋਗ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਦਿੱਤੇ ਗਏ ਸਿਸਟਮ, ਵਰਕਲੋਡ ਅਤੇ ਟ੍ਰੈਫਿਕ ਕਿਸਮ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਕੀ ਕੰਮ ਕਰਦਾ ਹੈ।
ਕਰਨਲ ਪੈਰਾਮੀਟਰ ਹੇਠਾਂ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲੀਨਕਸ ਵਿੱਚ sysctl ਸਹੂਲਤ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੰਰਚਿਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਨੂੰ view ਸਿਸਟਮ ਉੱਤੇ rmem ਅਤੇ wmem ਲਈ ਡਿਫਾਲਟ ਮੁੱਲ:
ਸਿਸਟਮਕਟਲ ਨੈੱਟ.ਕੋਰ.ਰਮਮ_ਡਿਫਾਲਟ
sysctl net.core.wmem_default
ਮੁੱਲਾਂ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ (16 MB) 'ਤੇ ਸੈੱਟ ਕਰੋ:
ਸਿਸਟਮ -w ਨੈੱਟ.ਕੋਰ.ਰਮਮ_ਮੈਕਸ=16777216
ਸਿਸਟਮ -w ਨੈੱਟ.ਕੋਰ.ਡਬਲਯੂਐਮਈਐਮ_ਮੈਕਸ = 16777216
ਸਾਕਟ ਬਫਰ ਸਾਈਜ਼, ਜਿਨ੍ਹਾਂ ਨੂੰ ਰਿਸੀਵ ਬਫਰ (rmem) ਅਤੇ ਟ੍ਰਾਂਸਮਿਟ ਬਫਰ (wmem) ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਸਿਸਟਮ ਪੈਰਾਮੀਟਰ ਹਨ ਜੋ ਇਨਕਮਿੰਗ ਅਤੇ ਆਊਟਗੋਇੰਗ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਲਈ ਰਾਖਵੀਂ ਮੈਮੋਰੀ ਦੀ ਮਾਤਰਾ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
-w ਆਰਗੂਮੈਂਟ ਤੋਂ ਬਿਨਾਂ sysctl ਚਲਾਉਣ ਨਾਲ ਪੈਰਾਮੀਟਰ ਇਸਦੀ ਮੌਜੂਦਾ ਸੈਟਿੰਗ ਨਾਲ ਸੂਚੀਬੱਧ ਹੁੰਦਾ ਹੈ।
ਸਟੈਕ ਸੈਟਿੰਗ | ਵਰਣਨ |
ਨੈੱਟ.ਕੋਰ.ਰਮਮ_ਡਿਫਾਲਟ | ਡਿਫਾਲਟ ਰਿਸੀਵ ਵਿੰਡੋ ਆਕਾਰ |
ਨੈੱਟ.ਕੋਰ.ਡਬਲਯੂਐਮਈਐਮ_ਡਿਫਾਲਟ | ਡਿਫਾਲਟ ਟ੍ਰਾਂਸਮਿਟ ਵਿੰਡੋ ਦਾ ਆਕਾਰ |
ਨੈੱਟ.ਕੋਰ.ਰਮਮ_ਮੈਕਸ | ਵੱਧ ਤੋਂ ਵੱਧ ਰਿਸੀਵ ਵਿੰਡੋ ਆਕਾਰ |
ਨੈੱਟ.ਕੋਰ.ਡਬਲਯੂਐਮਈਐਮ_ਮੈਕਸ | ਵੱਧ ਤੋਂ ਵੱਧ ਟ੍ਰਾਂਸਮਿਟ ਵਿੰਡੋ ਆਕਾਰ |
ਨੈੱਟ.ਕੋਰ.ਓਪਟਮੇਮ_ਮੈਕਸ | ਵੱਧ ਤੋਂ ਵੱਧ ਵਿਕਲਪ ਮੈਮੋਰੀ ਬਫਰ |
ਨੈੱਟ.ਕੋਰ.ਨੈੱਟਦੇਵ_ਮੈਕਸ_ਬੈਕਲੌਗ | ਕਰਨਲ ਦੇ ਡਿੱਗਣ ਤੋਂ ਪਹਿਲਾਂ ਅਣ-ਪ੍ਰੋਸੈਸ ਕੀਤੇ ਪੈਕੇਟਾਂ ਦਾ ਬੈਕਲਾਗ |
ਨੈੱਟ.ਆਈਪੀਵੀ4.ਟੀਸੀਪੀ_ਰਮਮ | TCP ਰੀਡ ਬਫਰਾਂ ਲਈ ਮੈਮੋਰੀ ਰਿਜ਼ਰਵਰ |
ਨੈੱਟ.ਆਈਪੀਵੀ4.ਟੀਸੀਪੀ_ਡਬਲਯੂਐਮਈਐਮ | TCP ਭੇਜਣ ਵਾਲੇ ਬਫਰਾਂ ਲਈ ਮੈਮੋਰੀ ਰਿਜ਼ਰਵਰ |
ਕਰਨਲ, ਨੈੱਟਵਰਕ ਸਟੈਕ, ਮੈਮੋਰੀ ਹੈਂਡਲਰ, CPU ਸਪੀਡ, ਅਤੇ ਪਾਵਰ ਮੈਨੇਜਮੈਂਟ ਪੈਰਾਮੀਟਰ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਵੱਡਾ ਪ੍ਰਭਾਵ ਪਾ ਸਕਦੇ ਹਨ। ਇੱਕ ਆਮ ਸਿਫ਼ਾਰਸ਼ ਨੈੱਟਵਰਕ ਥਰੂਪੁੱਟ ਪ੍ਰੋ 'ਤੇ ਲਾਗੂ ਕਰਨਾ ਹੈ।file ਟਿਊਨਡ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ। ਇਹ ਨੈੱਟਵਰਕਿੰਗ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਲਈ ਕੁਝ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੋਧਦਾ ਹੈ।
ਜਾਂਚ ਕਰੋ:
ਟਿਊਨਡ-ਐਡਐਮ ਐਕਟਿਵ
ਸੈੱਟ:
ਟਿਊਨਡ-ਐਡਐਮ ਪ੍ਰੋfile ਨੈੱਟਵਰਕ-ਥਰੂਪੁੱਟ
5.8 ਨੈੱਟਵਰਕ ਡਿਵਾਈਸ ਬੈਕਲਾਗ
ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਆਉਣ ਵਾਲੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰਕੇ, ਪੈਕੇਟ ਦੇ ਨੁਕਸਾਨ ਨੂੰ ਘਟਾ ਕੇ, ਲੇਟੈਂਸੀ ਨੂੰ ਘਟਾ ਕੇ, ਅਤੇ ਥਰੂਪੁੱਟ ਨੂੰ ਵਧਾ ਕੇ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ। ਇਸ ਨਾਲ ਇੱਕ ਬਿਹਤਰ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਅਤੇ ਤੇਜ਼ ਸਿਸਟਮ ਪ੍ਰਤੀਕਿਰਿਆ ਮਿਲਦੀ ਹੈ।
ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ, ਇਹ ਜ਼ਿਆਦਾਤਰ ਲੀਨਕਸ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਵਿੱਚ ਸਮਰੱਥ ਹੁੰਦਾ ਹੈ। ਡਿਫਾਲਟ ਮੁੱਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ:
sysctl net.core.netdev_max_backlog
netdev_max_backlog ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ ਕਰਨਲ ਵਰਜਨ, ਹਾਰਡਵੇਅਰ, ਮੈਮੋਰੀ, ਅਤੇ ਵਰਕਲੋਡ ਵਰਗੇ ਕਾਰਕਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦਾ ਹੈ। ਬਹੁਤ ਸਾਰੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, 8192 ਨੂੰ ਇੱਕ ਚੰਗਾ ਮੁੱਲ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। sysctl -w net.core.netdev_max_backlog=8192
5.9 ਪਲੇਟਫਾਰਮ-ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾਵਾਂ ਅਤੇ ਟਿਊਨਿੰਗ
5.9.1 ਚੌਥੀ ਪੀੜ੍ਹੀ ਦੇ Intel® Xeon® ਸਕੇਲੇਬਲ ਪ੍ਰੋਸੈਸਰ
Intel® 4th Generation Intel® Xeon® Scalable ਪ੍ਰੋਸੈਸਰ ਦਾ ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਤੀਜੀ Generation Intel® Xeon® Scalable ਪ੍ਰੋਸੈਸਰਾਂ ਦੇ ਮੁਕਾਬਲੇ ਬਹੁਤ ਹੀ ਹਮਲਾਵਰ ਹੈ। ਕੋਰਾਂ ਨੂੰ ਘੱਟ-ਪਾਵਰ ਸਥਿਤੀਆਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਣ ਲਈ, ਵਰਤੋਂ ਵਿੱਚ ਆਉਣ ਵਾਲੇ ਕੋਰਾਂ ਦੀ ਗਿਣਤੀ ਘਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਤਾਂ ਜੋ ਉਹਨਾਂ ਨੂੰ ਲੰਬੇ ਸਮੇਂ ਲਈ ਜਾਗਦਾ ਰੱਖਿਆ ਜਾ ਸਕੇ।
ਸਭ ਤੋਂ ਵੱਧ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀਆਂ ਬਾਇਓਸ ਸੈਟਿੰਗਾਂ
- CPU 'ਤੇ ਹਾਈਪਰ-ਥ੍ਰੈਡਿੰਗ ਸਮਰੱਥ/ਅਯੋਗ (ਵਰਕਲੋਡ ਲੋੜ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਟੀਚਿਆਂ ਦੇ ਆਧਾਰ 'ਤੇ)।
- ਸਿਸਟਮ ਪ੍ਰੋ ਸੈੱਟ ਕਰੋfile ਵੱਧ ਤੋਂ ਵੱਧ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਪ੍ਰਦਰਸ਼ਨ ਵੱਲ।
ਨੋਟ ਕਰੋ
ਇਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਬਿਜਲੀ ਦੀ ਖਪਤ ਵੱਧ ਹੁੰਦੀ ਹੈ। - ਪਾਵਰ ਕੁਸ਼ਲਤਾ ਨਾਲੋਂ ਵੱਧ ਤੋਂ ਵੱਧ CPU ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਲਈ CPU ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਸੈੱਟ ਕਰੋ।
- ਟਰਬੋ ਬੂਸਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ। ਸਿਸਟਮ BIOS ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਟਰਬੋ ਬੂਸਟ ਨੂੰ ਅਯੋਗ ਕਰਨ ਨਾਲ ਆਮ ਤੌਰ 'ਤੇ CPU ਆਪਣੀ ਕਲਾਕ ਸਪੀਡ ਨੂੰ ਆਪਣੀ ਬੇਸ ਫ੍ਰੀਕੁਐਂਸੀ ਤੋਂ ਅੱਗੇ ਵਧਾਉਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
- ਨੋਟ ਕਰੋ
ਟਰਬੋ ਬੂਸਟ ਨੂੰ ਅਯੋਗ ਕਰਨਾ ਕੁਝ ਖਾਸ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਲਈ ਢੁਕਵਾਂ ਹੋ ਸਕਦਾ ਹੈ ਜਿੱਥੇ ਇਕਸਾਰ ਪ੍ਰਦਰਸ਼ਨ, ਪਾਵਰ ਕੁਸ਼ਲਤਾ, ਜਾਂ ਥਰਮਲ ਪ੍ਰਬੰਧਨ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਪ੍ਰਦਰਸ਼ਨ ਨਾਲੋਂ ਤਰਜੀਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ। - ਜੇਕਰ ਸਿਸਟਮ ਵਰਚੁਅਲਾਈਜੇਸ਼ਨ ਤਕਨਾਲੋਜੀਆਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ, ਤਾਂ ਸਿੰਗਲ ਰੂਟ I/O ਵਰਚੁਅਲਾਈਜੇਸ਼ਨ (SR-IOV) ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬੰਦ ਕਰੋ।
- CPU ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਰਹਿਣ ਅਤੇ ਡੂੰਘੀਆਂ ਨਿਸ਼ਕਿਰਿਆ ਸਥਿਤੀਆਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਣ ਲਈ C-ਸਟੇਟਸ ਨੂੰ ਅਯੋਗ ਕਰੋ।
- ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ CPU ਕਿਰਿਆਸ਼ੀਲ ਰਹਿੰਦਾ ਹੈ ਅਤੇ C1E ਨਿਸ਼ਕਿਰਿਆ ਸਥਿਤੀ ਵਿੱਚ ਦਾਖਲ ਨਹੀਂ ਹੁੰਦਾ, C1E ਨੂੰ ਅਯੋਗ ਕਰੋ।
- ਸਿਸਟਮ ਨੂੰ ਸਭ ਤੋਂ ਵੱਧ ਉਪਲਬਧ ਬਾਰੰਬਾਰਤਾ 'ਤੇ ਕੰਮ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ ਦੇਣ ਲਈ ਅਨਕੋਰ ਬਾਰੰਬਾਰਤਾ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਸੈੱਟ ਕਰੋ।
- ਡੈੱਲ ਪਲੇਟਫਾਰਮਾਂ 'ਤੇ, CPU ਕੋਰਾਂ ਦੀ ਸਪਸ਼ਟ ਅਤੇ ਅਨੁਮਾਨਯੋਗ ਮੈਪਿੰਗ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਮਲਟੀਪਲ APIC ਵਰਣਨ ਸਾਰਣੀ (MADT) ਕੋਰ ਇਮੂਲੇਸ਼ਨ ਨੂੰ ਲੀਨੀਅਰ (ਜਾਂ BIOS 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ ਰਾਊਂਡ-ਰੌਬਿਨ) 'ਤੇ ਸੈੱਟ ਕਰੋ।
ਅਨੁਕੂਲਿਤ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਸਿਫ਼ਾਰਸ਼ੀ OS ਪੱਧਰ ਟਿਊਨਿੰਗ
- CPU ਫ੍ਰੀਕੁਐਂਸੀ ਸਕੇਲਿੰਗ ਗਵਰਨਰ ਨੂੰ ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਸੈੱਟ ਕਰੋ। cpupower frequency-set -g ਪ੍ਰਦਰਸ਼ਨ cpupower frequency-info
- C-ਸਟੇਟਸ ਨੂੰ ਅਯੋਗ ਕਰੋ। cpupower idle-set -D0
- ਕੋਰ Rx (rmem) ਅਤੇ Tx (wmem) ਬਫਰਾਂ ਨੂੰ ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ 'ਤੇ ਸੈੱਟ ਕਰੋ। sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
- ਨੈੱਟਵਰਕ ਡਿਵਾਈਸ ਬੈਕਲਾਗ ਸੈੱਟ ਕਰੋ। sysctl -w net.core.netdev_max_backlog=8192
- ਸੈੱਟ ਟਿਊਨਡ ਪ੍ਰੋfile (ਕੰਮ ਦਾ ਭਾਰ ਥਰੂਪੁੱਟ/ਲੇਟੈਂਸੀ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ)।
ਟਿਊਨਡ-ਐਡਐਮ ਪ੍ਰੋfile ਨੈੱਟਵਰਕ-ਥਰੂਪੁੱਟ
ਅਨੁਕੂਲਿਤ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਸਿਫ਼ਾਰਸ਼ੀ ਅਡਾਪਟਰ ਲੈਵਲ ਟਿਊਨਿੰਗ
- ਐਪਲੀਕੇਸ਼ਨ ਟ੍ਰੈਫਿਕ ਲਈ ਵਰਤਣ ਲਈ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਸੀਮਤ ਕਰੋ। ਸੰਬੰਧਿਤ CPU ਕੋਰਾਂ ਨੂੰ ਡੂੰਘੇ ਨਿਸ਼ਕਿਰਿਆ ਅਵਸਥਾਵਾਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਣ ਲਈ ਲੋੜੀਂਦੀਆਂ ਕਤਾਰਾਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਗਿਣਤੀ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਵਰਕਲੋਡ ਲਈ ਐਡਜਸਟ ਕਰੋ): ethtool -L ਸੰਯੁਕਤ 32
- ਇੰਟਰੱਪਟ ਮਾਡਰੇਸ਼ਨ ਰੇਟ ਸੈੱਟ ਕਰੋ। ethtool -C ਅਡੈਪਟਿਵ-ਆਰਐਕਸ ਬੰਦ ਅਡੈਪਟਿਵ-ਟੀਐਕਸ ਬੰਦ ਆਰਐਕਸ-ਯੂਸੇਕਸ-ਹਾਈ 50 ਆਰਐਕਸ-ਯੂਸੇਕਸ 50 ਟੀਐਕਸ-ਯੂਸੇਕਸ 50
ਵਰਕਲੋਡ ਲਈ ਅਨੁਕੂਲ ਮੁੱਲ ਲੱਭਣ ਲਈ ਟ੍ਰਾਂਸਮਿਟ/ਪ੍ਰਾਪਤ/ਉੱਚ-ਪ੍ਰਾਥਮਿਕਤਾ ਕੋਲੇਸਿੰਗ ਟਾਈਮਰ ਨੂੰ ਉੱਚ (80/100/150/200) ਜਾਂ ਘੱਟ (25/20/10/5) ਐਡਜਸਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। - Rx/Tx ਰਿੰਗ ਦੇ ਆਕਾਰ ਸੈੱਟ ਕਰੋ। ethtool -G ਆਰਐਕਸ 4096 ਟੀਐਕਸ 4096
ਨੋਟ ਕਰੋ
ਜੇਕਰ ਤੁਸੀਂ ethtool -S| grep ਡ੍ਰੌਪ ਨਾਲ Rx ਪੈਕੇਟ ਡ੍ਰੌਪ ਦੇਖਦੇ ਹੋ, ਤਾਂ ਰਿੰਗ ਦੇ ਆਕਾਰ ਨੂੰ <4096 ਤੱਕ ਘਟਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਵਰਕਲੋਡ ਲਈ ਅਨੁਕੂਲ ਮੁੱਲ ਲੱਭਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਿੱਥੇ ਪੈਕੇਟ ਨਹੀਂ ਸੁੱਟੇ ਜਾਂਦੇ ਹਨ। - IRQ ਐਫੀਨਿਟੀ ਸੈੱਟ ਕਰੋ। NIC ਲਈ ਸਥਾਨਕ ਕੋਰ, ਜਾਂ ਖਾਸ ਕੋਰ ਮੈਪਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਜਿੱਥੇ # ਕੋਰ ਪੰਨਾ 1 'ਤੇ 26 ਵਿੱਚ ਸੈੱਟ ਕੀਤੀਆਂ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਦੇ ਬਰਾਬਰ ਹੈ। systemctl ਸਟਾਪ irqbalance set_irq_affinity -X ਸਥਾਨਕ ਜਾਂ ਸੈੱਟ_ਇਰਕ_ਐਫਿਨਿਟੀ -ਐਕਸ
5.9.2 ਏਐਮਡੀ ਈਪੀਵਾਈਸੀ
AMD EPYC ਪ੍ਰੋਸੈਸਰ ਸਰਵਰਾਂ ਅਤੇ ਡੇਟਾ ਸੈਂਟਰਾਂ ਲਈ ਬਣਾਏ ਗਏ ਸ਼ਕਤੀਸ਼ਾਲੀ CPU ਹਨ, ਜੋ AMD ਦੇ Zen ਆਰਕੀਟੈਕਚਰ 'ਤੇ ਬਣੇ ਹਨ। ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਸੈਟਿੰਗਾਂ AMD ਦੀ ਚੌਥੀ ਪੀੜ੍ਹੀ ਦੀ EPYC ਲੜੀ ਤੋਂ ਹਨ।
ਸਭ ਤੋਂ ਵੱਧ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਸਿਫ਼ਾਰਸ਼ੀ BIOS ਸੈਟਿੰਗਾਂ
- ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ CPU ਪ੍ਰਦਰਸ਼ਨ, ਬਿਜਲੀ ਦੀ ਖਪਤ, ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਕਸਟਮ ਮੋਡ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ। ਇਹ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਊਰਜਾ ਕੁਸ਼ਲਤਾ ਵਿਚਕਾਰ ਸਭ ਤੋਂ ਵਧੀਆ ਸੰਤੁਲਨ ਲਈ ਸਿਸਟਮ ਨੂੰ ਵਧੀਆ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
- ਕੋਰ ਪ੍ਰਦਰਸ਼ਨ ਬੂਸਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ ਤਾਂ ਜੋ CPU ਵਧੇਰੇ ਤੀਬਰ ਕਾਰਜਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਆਪਣੀ ਗਤੀ ਨੂੰ ਆਪਣੇ ਆਪ ਵਧਾ ਸਕੇ, ਜਿਸ ਨਾਲ ਸਮੁੱਚੀ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੋਵੇ।
- ਗਲੋਬਲ ਸੀ-ਸਟੇਟ ਕੰਟਰੋਲ ਨੂੰ ਅਯੋਗ ਕਰੋ, ਤਾਂ ਜੋ ਸੀਪੀਯੂ ਨੂੰ ਸੀ-ਸਟੇਟਸ ਵਜੋਂ ਜਾਣੀਆਂ ਜਾਂਦੀਆਂ ਡੂੰਘੀਆਂ ਪਾਵਰ ਸੇਵਿੰਗ ਸਟੇਟਾਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਿਆ ਜਾ ਸਕੇ, ਜੋ ਜਵਾਬਦੇਹੀ ਬਣਾਈ ਰੱਖ ਸਕਦੀਆਂ ਹਨ।
ਨੋਟ ਕਰੋ
ਸੀ-ਸਟੇਟਸ ਨੂੰ ਅਯੋਗ ਕਰਨ ਨਾਲ ਵਾਧੂ ਬਿਜਲੀ ਦੀ ਖਪਤ ਹੋ ਸਕਦੀ ਹੈ ਅਤੇ ਥਰਮਲ ਤਾਪਮਾਨ ਵਧ ਸਕਦਾ ਹੈ। ਵਰਕਲੋਡ ਲਈ ਦੋਵਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ। - ਵਰਕਲੋਡ ਲੋੜਾਂ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਟੀਚਿਆਂ ਦੇ ਆਧਾਰ 'ਤੇ, CPU 'ਤੇ ਸਿਮਲਟੇਨੀਅਸ ਮਲਟੀਥ੍ਰੈਡਿੰਗ (SMT) ਨੂੰ ਸਮਰੱਥ/ਅਯੋਗ ਕਰੋ। SMT, Intel CPU 'ਤੇ ਹਾਈਪਰ ਥ੍ਰੈਡਿੰਗ ਦੇ ਬਰਾਬਰ ਹੈ।
ਨੋਟ ਕਰੋ
ਅਨੁਕੂਲਿਤ ਪ੍ਰਦਰਸ਼ਨ ਲਈ, ਸਿਫ਼ਾਰਸ਼ ਕੀਤੇ OS ਅਤੇ ਅਡੈਪਟਰ ਪੱਧਰ ਦੀ ਟਿਊਨਿੰਗ ਲਈ ਪੰਨਾ 40 'ਤੇ ਟਿਊਨਿੰਗ i13e ਡਰਾਈਵਰ ਸੈਟਿੰਗਾਂ ਅਤੇ ਪੰਨਾ 40 'ਤੇ ਪਲੇਟਫਾਰਮ ਟਿਊਨਿੰਗ (i19e ਗੈਰ-ਵਿਸ਼ੇਸ਼) ਵੇਖੋ।
ਅਡਾਪਟਰ ਬੌਂਡਿੰਗ
ਲੀਨਕਸ ਬੰਧਨ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਜੋ ਸਰਵਰ ਵਾਤਾਵਰਣ ਵਿੱਚ ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ, ਰਿਡੰਡੈਂਸੀ ਅਤੇ ਫਾਲਟ ਸਹਿਣਸ਼ੀਲਤਾ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਕਰ ਸਕਦੀ ਹੈ। ਹਾਲਾਂਕਿ, ਇਹ ਧਿਆਨ ਦੇਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਇਸਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਸਰਵਰ ਅਤੇ ਸਵਿੱਚ ਦੋਵਾਂ 'ਤੇ ਅਨੁਕੂਲ ਨੈੱਟਵਰਕ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸਹੀ ਸੰਰਚਨਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਲੀਨਕਸ ਵਿੱਚ ਬੌਂਡਿੰਗ ਡਰਾਈਵਰ ਤੁਹਾਨੂੰ ਕਈ ਭੌਤਿਕ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸਾਂ ਨੂੰ ਇੱਕ ਬੌਂਡਡ ਇੰਟਰਫੇਸ ਵਿੱਚ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਬੌਂਡਡ ਇੰਟਰਫੇਸ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਇੱਕ ਸਿੰਗਲ ਵਰਚੁਅਲ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
ਨੋਟ ਕਰੋ
ਬਾਂਡ ਇੱਕ ਲਾਜ਼ੀਕਲ ਇੰਟਰਫੇਸ ਹੈ, ਇਸ ਲਈ ਬਾਂਡ ਇੰਟਰਫੇਸ 'ਤੇ ਸਿੱਧੇ ਤੌਰ 'ਤੇ CPU ਐਫੀਨਿਟੀ ਸੈੱਟ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ (ਉਦਾਹਰਨ ਲਈample, bond0)। ਯਾਨੀ, ਇਸਦਾ ਇੰਟਰੱਪਟ ਹੈਂਡਲਿੰਗ ਜਾਂ CPU ਐਫੀਨਿਟੀ 'ਤੇ ਕੋਈ ਸਿੱਧਾ ਨਿਯੰਤਰਣ ਨਹੀਂ ਹੈ। CPU ਐਫੀਨਿਟੀ ਨੂੰ ਅੰਡਰਲਾਈੰਗ ਇੰਟਰਫੇਸਾਂ ਲਈ ਕੌਂਫਿਗਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਬਾਂਡ ਦਾ ਹਿੱਸਾ ਹਨ।
ਬੰਧਨ ਕਾਰਜਾਂ ਦੇ ਕਈ ਢੰਗ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਹਰੇਕ ਦੀਆਂ ਆਪਣੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ।
ਮੋਡ | ਟਾਈਪ ਕਰੋ |
0 | ਰਾਊਂਡ ਰੌਬਿਨ |
1 | ਕਿਰਿਆਸ਼ੀਲ ਬੈਕਅੱਪ |
2 | XOR |
3 | ਪ੍ਰਸਾਰਣ |
4 | LACP |
5 | ਲੋਡ ਬੈਲੇਂਸ ਭੇਜੋ |
6 | ਅਨੁਕੂਲ ਲੋਡ ਸੰਤੁਲਨ |
ਲੀਨਕਸ ਵਿੱਚ ਇੱਕ ਬੰਧਨ ਬਣਾਉਣ ਦੇ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਹਨ। ਸਭ ਤੋਂ ਆਮ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। files (ਉਦਾਹਰਨ ਲਈample, /etc/network/ ਇੰਟਰਫੇਸ ਜਾਂ /etc/sysconfig/network-scripts/ifcfg-bondX)।
ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੰਰਚਨਾ Files
ਹੇਠ ਦਿੱਤੇ ਕਦਮ ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ ਰਾਹੀਂ ਬੰਧਨ ਬਣਾਉਂਦੇ ਹਨ files.
- ਬੰਧਨ ਲਈ ਦੋ ਜਾਂ ਵੱਧ NIC ਪੋਰਟ ਚੁਣੋ (ਉਦਾਹਰਨ ਲਈample, ethX ਅਤੇ ethY)
- NIC ਸੰਰਚਨਾ ਖੋਲ੍ਹੋ Fileਲੋੜੀਂਦੇ NIC ਇੰਟਰਫੇਸ ਲਈ /etc/sysconfig/network-scripts/ ਦੇ ਅਧੀਨ s (ਉਦਾਹਰਨ ਲਈample, vi ifcfg-ethX ਅਤੇ vi ifcfg-ethY) ਅਤੇ ਹੇਠ ਦਿੱਤਾ ਟੈਕਸਟ ਜੋੜੋ:
MASTER=bondN [ਨੋਟ: N ਬਾਂਡ ਨੰਬਰ ਦਾ ਜ਼ਿਕਰ ਕਰਨ ਲਈ ਇੱਕ ਪੂਰਨ ਅੰਕ ਹੈ।] SLAVE=yes - ਇੱਕ ਬਾਂਡ ਨੈੱਟਵਰਕ ਸਕ੍ਰਿਪਟ ਬਣਾਓ file vi /etc/sysconfig/networkscripts/ifcfg-bondN ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਤੇ ਹੇਠ ਦਿੱਤਾ ਟੈਕਸਟ ਦਰਜ ਕਰੋ:
DEVICE=bondN [ਨੋਟ: N ਬਾਂਡ ਨੰਬਰ ਦਾ ਜ਼ਿਕਰ ਕਰਨ ਲਈ ਇੱਕ ਪੂਰਨ ਅੰਕ ਹੈ] ONBOOT=ਹਾਂ USERCTL=ਨਹੀਂ BOOTPROTO=dhcp (ਜਾਂ) ਕੋਈ ਨਹੀਂ
IPADDR=200.20.2.4 [ਜੇ BOOTPROTO=ਕੋਈ ਨਹੀਂ ਹੈ ਤਾਂ ਲੋੜੀਂਦਾ ਹੈ] NETMASK=255.255.255.0 [ਜੇ BOOTPROTO=ਕੋਈ ਨਹੀਂ ਹੈ ਤਾਂ ਲੋੜੀਂਦਾ ਹੈ] NETWORK=200.20.2.0 [ਜੇ BOOTPROTO=ਕੋਈ ਨਹੀਂ ਹੈ ਤਾਂ ਲੋੜੀਂਦਾ ਹੈ] BROADCAST=200.20.2.255 [ਜੇ BOOTPROTO=ਕੋਈ ਨਹੀਂ ਹੈ ਤਾਂ ਲੋੜੀਂਦਾ ਹੈ] BONDING_OPTS=”mode=1 miimon=100″
ਨੋਟ ਕਰੋ
ਲੋੜ ਦੇ ਆਧਾਰ 'ਤੇ ਮੋਡ 0 ਤੋਂ 6 ਤੱਕ ਕੋਈ ਵੀ ਪੂਰਨ ਅੰਕ ਹੋ ਸਕਦਾ ਹੈ। - ਸਰਵਿਸ ਨੈੱਟਵਰਕ ਰੀਸਟਾਰਟ ਜਾਂ ਸਿਸਟਮਸੀਟੀਐਲ ਰੀਸਟਾਰਟ NetworkManager.service ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਨੈੱਟਵਰਕ ਸੇਵਾਵਾਂ ਨੂੰ ਰੀਸਟਾਰਟ ਕਰੋ।
ਪ੍ਰਦਰਸ਼ਨ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ
7.1 CPU ਉਪਯੋਗਤਾ
ਜਦੋਂ ਵਰਕਲੋਡ ਚੱਲ ਰਿਹਾ ਹੋਵੇ ਤਾਂ ਪ੍ਰਤੀ ਕੋਰ CPU ਵਰਤੋਂ ਦੀ ਜਾਂਚ ਕਰੋ।
ਧਿਆਨ ਦਿਓ ਕਿ ਪ੍ਰਤੀ ਕੋਰ ਉਪਯੋਗਤਾ ਸਮੁੱਚੀ CPU ਉਪਯੋਗਤਾ ਨਾਲੋਂ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਵਧੇਰੇ ਢੁਕਵੀਂ ਹੈ ਕਿਉਂਕਿ ਇਹ ਪ੍ਰਤੀ ਨੈੱਟਵਰਕ ਕਤਾਰ CPU ਉਪਯੋਗਤਾ ਦਾ ਵਿਚਾਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਚਲਾਉਣ ਵਾਲੇ ਸਿਰਫ਼ ਕੁਝ ਥ੍ਰੈੱਡ ਹਨ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਸਿਰਫ਼ ਕੁਝ ਕੋਰ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਜੇਕਰ ਉਹ ਕੋਰ 100% 'ਤੇ ਹਨ, ਤਾਂ ਤੁਹਾਡਾ ਨੈੱਟਵਰਕ ਥ੍ਰੁਪੁੱਟ ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ CPU ਉਪਯੋਗਤਾ ਦੁਆਰਾ ਸੀਮਤ ਹੈ ਅਤੇ ਇਹ ਹੇਠ ਲਿਖੇ ਕੰਮ ਕਰਨ ਦਾ ਸਮਾਂ ਹੈ:
- ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਵਿੱਚ ਦੱਸੇ ਅਨੁਸਾਰ IRQ ਮੋਡਰੇਸ਼ਨ/ਰਿੰਗ ਸਾਈਜ਼ ਨੂੰ ਟਿਊਨ ਕਰੋ।
- CPU ਲੋਡ ਨੂੰ ਹੋਰ ਕੋਰਾਂ ਉੱਤੇ ਫੈਲਾਉਣ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਥ੍ਰੈੱਡਾਂ ਦੀ ਗਿਣਤੀ ਵਧਾਓ। ਜੇਕਰ ਸਾਰੇ ਕੋਰ 100% ਤੇ ਚੱਲ ਰਹੇ ਹਨ ਤਾਂ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜਨ ਦੀ ਬਜਾਏ CPU ਨਾਲ ਜੁੜੀ ਹੋ ਸਕਦੀ ਹੈ।
ਆਮ ਤੌਰ 'ਤੇ ਉਪਲਬਧ ਔਜ਼ਾਰ:
- ਸਿਖਰ
— CPUs ਦੀ ਸੂਚੀ ਨੂੰ ਵਧਾਉਣ ਲਈ 1 ਦਬਾਓ ਅਤੇ ਜਾਂਚ ਕਰੋ ਕਿ ਕਿਹੜੇ ਵਰਤੇ ਜਾ ਰਹੇ ਹਨ।
— ਵਰਤੋਂ ਦੇ ਪੱਧਰ ਵੱਲ ਧਿਆਨ ਦਿਓ।
— ਧਿਆਨ ਦਿਓ ਕਿ ਕਿਹੜੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਸਭ ਤੋਂ ਵੱਧ ਸਰਗਰਮ ਹਨ (ਸੂਚੀ ਦੇ ਸਿਖਰ 'ਤੇ)। - ਐਮਪੀਸਟੈਟ
ਹੇਠ ਦਿੱਤੇ ਸਾਬਕਾample ਕਮਾਂਡ ਲਾਈਨ ਨੂੰ Red Hat Enterprise Linux 7.x 'ਤੇ ਟੈਸਟ ਕੀਤਾ ਗਿਆ ਸੀ।
ਇਹ ਪ੍ਰਤੀ ਕੋਰ CPU ਉਪਯੋਗਤਾ ਦਰਸਾਉਂਦਾ ਹੈ (ਕੁੱਲ ਪ੍ਰਤੀਸ਼ਤ ਨਿਸ਼ਕਿਰਿਆ ਲੱਭ ਕੇ ਅਤੇ 100 ਤੋਂ ਘਟਾ ਕੇ) ਅਤੇ 80% ਤੋਂ ਉੱਪਰ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਲਾਲ ਰੰਗ ਵਿੱਚ ਉਜਾਗਰ ਕਰਦਾ ਹੈ। mpstat -P ALL 1 1 | grep -v ਔਸਤ | tail -n +5 | head -n -1 | awk '{ print (100-$13)}' | egrep -color=always '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | ਕਾਲਮ - perf top ਦੇਖੋ ਕਿ ਚੱਕਰ ਕਿੱਥੇ ਖਰਚ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ।
7.2 i40e ਕਾਊਂਟਰ
i40e ਡਰਾਈਵਰ ethtool -S ethX ਕਮਾਂਡ ਰਾਹੀਂ ਇੰਟਰਫੇਸ ਡੀਬੱਗ ਅਤੇ ਨਿਗਰਾਨੀ ਲਈ ਕਾਊਂਟਰਾਂ ਦੀ ਇੱਕ ਲੰਬੀ ਸੂਚੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਵਰਕਲੋਡ ਚੱਲਦੇ ਸਮੇਂ ਆਉਟਪੁੱਟ ਨੂੰ ਦੇਖਣਾ ਅਤੇ/ਜਾਂ ਵਰਕਲੋਡ ਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਕਾਊਂਟਰ ਮੁੱਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨਾ ਮਦਦਗਾਰ ਹੋ ਸਕਦਾ ਹੈ।
- i40e ਕਾਊਂਟਰਾਂ ਦਾ ਪੂਰਾ ਡੰਪ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ: ethtool -S ethX
- ਸਿਰਫ਼ ਗੈਰ-ਜ਼ੀਰੋ ਕਾਊਂਟਰ ਦੇਖਣ ਲਈ: watch -d (ethtool -S ethX) | egrep -v :\ 0 | column
ਕੁਝ ਚੀਜ਼ਾਂ ਲੱਭਣੀਆਂ ਹਨ: - rx_droped ਦਾ ਮਤਲਬ ਹੈ ਕਿ CPU ਬਫਰਾਂ ਦੀ ਸੇਵਾ ਤੇਜ਼ੀ ਨਾਲ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ।
- port.rx_dropped ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਲਾਟ/ਮੈਮੋਰੀ/ ਸਿਸਟਮ ਵਿੱਚ ਕੋਈ ਚੀਜ਼ ਕਾਫ਼ੀ ਤੇਜ਼ ਨਹੀਂ ਹੈ।
7.3 ਨੈੱਟਵਰਕ ਕਾਊਂਟਰ
ਵਰਕਲੋਡ ਰਨ ਤੋਂ ਪਹਿਲਾਂ/ਬਾਅਦ ਵਿੱਚ netstat -s ਦੀ ਜਾਂਚ ਕਰੋ।
Netstat ਸਿਸਟਮ ਵਿੱਚ ਸਾਰੇ ਨੈੱਟਵਰਕ ਡਿਵਾਈਸਾਂ ਤੋਂ ਨੈੱਟਵਰਕ ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ, ਨਤੀਜੇ ਟੈਸਟ ਅਧੀਨ ਨੈੱਟਵਰਕ ਤੋਂ ਇਲਾਵਾ ਹੋਰ ਨੈੱਟਵਰਕਾਂ ਤੋਂ ਪ੍ਰਭਾਵਿਤ ਹੋ ਸਕਦੇ ਹਨ। netstat -s ਤੋਂ ਆਉਟਪੁੱਟ Linux ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਜਾਂ ਕਰਨਲ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਨ ਮੁੱਦਿਆਂ ਦਾ ਇੱਕ ਚੰਗਾ ਸੂਚਕ ਹੋ ਸਕਦਾ ਹੈ। ਆਮ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਟਿਊਨਿੰਗ ਬਾਰੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਟਿਊਨਿੰਗ ਗਾਈਡਾਂ, ਜਿਵੇਂ ਕਿ Red Hat Enterprise Linux ਨੈੱਟਵਰਕ ਪ੍ਰਦਰਸ਼ਨ ਟਿਊਨਿੰਗ ਗਾਈਡ, ਦੀ ਸਲਾਹ ਲਓ।
7.4 ਸਿਸਟਮ ਲੌਗ
ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਲਈ ਸਿਸਟਮ ਲੌਗ ਦੀ ਜਾਂਚ ਕਰੋ (/var/log/messages, dmesg)।
7.5 ਇੰਟੇਲ ਐਸਵੀਆਰ-ਜਾਣਕਾਰੀ ਟੂਲ
ਇੰਟੇਲ ਇੱਕ svr-info ਟੂਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ (ਦੇਖੋ https://github.com/intel/svr-info) ਲੀਨਕਸ ਲਈ ਜੋ ਸਰਵਰ ਤੋਂ ਸੰਬੰਧਿਤ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸਾਫਟਵੇਅਰ ਵੇਰਵਿਆਂ ਨੂੰ ਕੈਪਚਰ ਕਰਦਾ ਹੈ। svr-info ਆਉਟਪੁੱਟ ਸਿਸਟਮ ਰੁਕਾਵਟਾਂ ਜਾਂ ਸੈਟਿੰਗਾਂ/ਟਿਊਨਿੰਗਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਬਹੁਤ ਮਦਦਗਾਰ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਵਰਕਲੋਡ ਲਈ ਅਨੁਕੂਲ ਨਹੀਂ ਹਨ। ਈਥਰਨੈੱਟ-ਸਬੰਧਤ ਪ੍ਰਦਰਸ਼ਨ ਮੁੱਦਿਆਂ ਲਈ Intel ਨਾਲ ਇੱਕ ਸਹਾਇਤਾ ਕੇਸ ਖੋਲ੍ਹਦੇ ਸਮੇਂ, svr-info ਆਉਟਪੁੱਟ (ਟੈਕਸਟ) ਸ਼ਾਮਲ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ file) ਟੈਸਟ ਸੰਰਚਨਾ ਵਿੱਚ ਹਰੇਕ ਲੀਨਕਸ ਸਰਵਰ ਲਈ।
- svr-info ਡਾਊਨਲੋਡ ਅਤੇ ਸਥਾਪਿਤ ਕਰੋ:
wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| ਟਾਰ xvz ਸੀਡੀ svr-ਜਾਣਕਾਰੀ
./svr-ਜਾਣਕਾਰੀ
> ਹੋਸਟਨੇਮ.txt - ਆਉਟਪੁੱਟ ਇਕੱਠਾ ਕਰੋ:
./svr-info > ਹੋਸਟਨੇਮ.txt - ਇੱਕ ਲਿਖਤ (.txt) ਨੱਥੀ ਕਰੋ file ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਤੁਹਾਡੇ Intel ਸਹਾਇਤਾ ਕੇਸ ਵਿੱਚ ਹਰੇਕ ਸਰਵਰ ਲਈ।
ਆਮ ਪ੍ਰਦਰਸ਼ਨ ਦ੍ਰਿਸ਼ਾਂ ਲਈ ਸਿਫ਼ਾਰਸ਼ਾਂ
8.1 IP ਫਾਰਵਰਡਿੰਗ
- ਕਰਨਲ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ।
ਸੁਰੱਖਿਆ ਕਾਰਨ ਰੂਟਿੰਗ ਕੈਸ਼ ਨੂੰ ਹਟਾਉਣ ਤੋਂ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋਏ, ਰੂਟਿੰਗ ਕੋਡ ਵਿੱਚ ਕਰਨਲ ਬਦਲਾਵਾਂ ਦੇ ਕਾਰਨ ਕੁਝ ਹਾਲੀਆ ਇਨ-ਡਿਸਟਰੋ ਕਰਨਲਾਂ ਨੇ ਰੂਟਿੰਗ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਘਟਾ ਦਿੱਤਾ ਹੈ। ਹਾਲੀਆ ਆਊਟ-ਆਫ-ਡਿਸਟਰੋ ਕਰਨਲਾਂ ਵਿੱਚ ਪੈਚ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ ਜੋ ਇਹਨਾਂ ਬਦਲਾਵਾਂ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰਭਾਵ ਨੂੰ ਘੱਟ ਕਰਦੇ ਹਨ ਅਤੇ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੇ ਹਨ। - ਹਾਈਪਰ-ਥ੍ਰੈਡਿੰਗ (ਲਾਜ਼ੀਕਲ ਕੋਰ) ਨੂੰ ਅਯੋਗ ਕਰੋ।
- ਕਰਨਲ ਬੂਟ ਪੈਰਾਮੀਟਰ ਸੋਧੋ।
— ਕਰਨਲ ਬੂਟ ਲਾਈਨ ਤੋਂ iommu ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਬੰਦ ਕਰੋ (intel_iommu=off ਜਾਂ iommu=off) ਜਦੋਂ ਤੱਕ ਵਰਚੁਅਲਾਈਜੇਸ਼ਨ ਲਈ ਲੋੜ ਨਾ ਪਵੇ।
— ਪਾਵਰ ਪ੍ਰਬੰਧਨ ਬੰਦ ਕਰੋ: processor.max_cstates=1 idle=poll pcie_aspm=off - ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਸਥਾਨਕ ਸਾਕਟ 'ਤੇ ਕੋਰਾਂ ਦੀ ਗਿਣਤੀ ਦੇ ਬਰਾਬਰ ਸੀਮਤ ਕਰੋ (ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ 12)ample). ethtool -L ethX ਸੰਯੁਕਤ 12
- ਸਿਰਫ਼ ਸਥਾਨਕ ਸਾਕਟ ਲਈ ਪਿੰਨ ਇੰਟਰੱਪਟ। set_irq_affinity -X ਸਥਾਨਕ ethX ਜਾਂ set_irq_affinity -X ਸਥਾਨਕ ethX
ਨੋਟ ਕਰੋ
-X ਜਾਂ -x ਵਰਕਲੋਡ ਦੇ ਆਧਾਰ 'ਤੇ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। - ਲੋੜ ਅਨੁਸਾਰ Tx ਅਤੇ Rx ਰਿੰਗ ਦੇ ਆਕਾਰ ਬਦਲੋ। ਇੱਕ ਵੱਡਾ ਮੁੱਲ ਵਧੇਰੇ ਸਰੋਤ ਲੈਂਦਾ ਹੈ ਪਰ ਬਿਹਤਰ ਫਾਰਵਰਡਿੰਗ ਦਰਾਂ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦਾ ਹੈ। ethtool -G ethX rx 4096 tx 4096
- ਰੂਟਿੰਗ ਕਰਦੇ ਸਮੇਂ GRO ਨੂੰ ਅਯੋਗ ਕਰੋ।
ਇੱਕ ਜਾਣੇ-ਪਛਾਣੇ ਕਰਨਲ ਮੁੱਦੇ ਦੇ ਕਾਰਨ, ਰੂਟਿੰਗ/ਫਾਰਵਰਡਿੰਗ ਕਰਦੇ ਸਮੇਂ GRO ਨੂੰ ਬੰਦ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ। ethtool -K ethX gro off ਜਿੱਥੇ ethX ਈਥਰਨੈੱਟ ਇੰਟਰਫੇਸ ਹੈ ਜਿਸਨੂੰ ਸੋਧਿਆ ਜਾਣਾ ਹੈ। - ਅਡੈਪਟਿਵ ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਨੂੰ ਅਯੋਗ ਕਰੋ ਅਤੇ ਇੱਕ ਸਥਿਰ ਮੁੱਲ ਸੈੱਟ ਕਰੋ। ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64
ਨੋਟ ਕਰੋ
ਪ੍ਰੋਸੈਸਰ ਦੀ ਕਿਸਮ ਅਤੇ ਵਰਕਲੋਡ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, RX ਅਤੇ TX ਲਈ ਕੋਲੇਸਿੰਗ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ (ਜਾਂ ਘੱਟ ਫਰੇਮ ਨੁਕਸਾਨ) ਲਈ ਐਡਜਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- ਫਾਇਰਵਾਲ ਨੂੰ ਅਯੋਗ ਕਰੋ। sudo systemctl ਫਾਇਰਵਾਲਡ ਨੂੰ ਅਯੋਗ ਕਰੋ sudo systemctl ਸਟਾਪ ਫਾਇਰਵਾਲਡ
- IP ਫਾਰਵਰਡਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ। sysctl -w net.ipv4.ip_forward=1
- ਪ੍ਰਾਪਤ ਅਤੇ ਭੇਜੋ ਸਾਕਟ ਬਫਰ ਆਕਾਰਾਂ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ ਕੌਂਫਿਗਰ ਕਰੋ। sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
ਨੋਟ ਕਰੋ
ਵਰਕਲੋਡ ਜਾਂ ਲੋੜ ਦੇ ਆਧਾਰ 'ਤੇ, ਇਹਨਾਂ ਮੁੱਲਾਂ ਨੂੰ ਡਿਫੌਲਟ ਤੋਂ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।
8.2 ਘੱਟ ਲੇਟੈਂਸੀ
- ਹਾਈਪਰ-ਥ੍ਰੈਡਿੰਗ (ਲਾਜੀਕਲ ਕੋਰ) ਨੂੰ ਬੰਦ ਕਰੋ।
- ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਨੈੱਟਵਰਕ ਡਿਵਾਈਸ ਨੂਮਾ ਕੋਰ 0 ਲਈ ਸਥਾਨਕ ਹੈ।
- ਟਾਸਕਸੈੱਟ -c 0 ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੈਂਚਮਾਰਕ ਨੂੰ ਕੋਰ 0 'ਤੇ ਪਿੰਨ ਕਰੋ।
- systemctl ਵਰਤ ਕੇ irqbalance ਬੰਦ ਕਰੋ irqbalance ਨੂੰ ਰੋਕੋ ਜਾਂ systemctl irqbalance ਨੂੰ ਅਯੋਗ ਕਰੋ
- ਕੋਰਾਂ ਵਿੱਚ ਫੈਲਾਉਣ ਲਈ ਐਫੀਨਿਟੀ ਸਕ੍ਰਿਪਟ ਚਲਾਓ। ਸਥਾਨਕ ਜਾਂ ਸਾਰੇ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
- ਇੰਟਰੱਪਟ ਮੋਡਰੇਸ਼ਨ ਬੰਦ ਕਰੋ। ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
- ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਸਥਾਨਕ ਸਾਕਟ 'ਤੇ ਕੋਰਾਂ ਦੀ ਗਿਣਤੀ ਦੇ ਬਰਾਬਰ ਸੀਮਤ ਕਰੋ (ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ 32)ample). ethtool -L ethX ਸੰਯੁਕਤ 32
- ਸਿਰਫ਼ ਸਥਾਨਕ ਸਾਕਟ ਵਿੱਚ ਹੀ ਪਿੰਨ ਇੰਟਰੱਪਟ (i40e ਡਰਾਈਵਰ ਸਰੋਤ ਨਾਲ ਪੈਕ ਕੀਤੀ ਸਕ੍ਰਿਪਟ)। set_irq_affinity -X ਸਥਾਨਕ ethX
- ਇੱਕ ਸਥਾਪਿਤ ਬੈਂਚਮਾਰਕ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਿਵੇਂ ਕਿ netperf -t TCP_RR, netperf -t UDP_RR, ਜਾਂ NetPipe। netperf -t TCP_RR ਜਾਂ netperf -t UDP_RR
- ਸਥਾਨਕ NUMA ਨੋਡ ਵਿੱਚ ਇੱਕ ਸਿੰਗਲ ਕੋਰ ਤੇ ਬੈਂਚਮਾਰਕ ਪਿੰਨ ਕਰੋ। ਟਾਸਕਸੈੱਟ -c
ਇੰਟੇਲ ® ਈਥਰਨੈੱਟ 700 ਸੀਰੀਜ਼
ਲੀਨਕਸ ਪ੍ਰਦਰਸ਼ਨ ਟਿਊਨਿੰਗ ਗਾਈਡ
ਦਸੰਬਰ 2024
ਦਸਤਾਵੇਜ਼ ਨੰ.: 334019, ਪ੍ਰਕਾਸ਼ਨ: 1.2
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
ਇੰਟੇਲ ਈਥਰਨੈੱਟ 700 ਸੀਰੀਜ਼ ਲੀਨਕਸ ਪਰਫਾਰਮੈਂਸ ਟਿਊਨਿੰਗ [pdf] ਯੂਜ਼ਰ ਗਾਈਡ 334019, ਈਥਰਨੈੱਟ 700 ਸੀਰੀਜ਼ ਲੀਨਕਸ ਪਰਫਾਰਮੈਂਸ ਟਿਊਨਿੰਗ, ਈਥਰਨੈੱਟ 700 ਸੀਰੀਜ਼, ਲੀਨਕਸ ਪਰਫਾਰਮੈਂਸ ਟਿਊਨਿੰਗ, ਪਰਫਾਰਮੈਂਸ ਟਿਊਨਿੰਗ, ਟਿਊਨਿੰਗ |