worker_connections ਵਧਾਉਣ ਤੋਂ ਪਹਿਲਾਂ NGINX ਪ੍ਰੌਕਸੀ ਸਾਕਟਾਂ ਦਾ ਬਜਟ ਬਣਾਓ
ਪ੍ਰੌਕਸੀ ਕਨੈਕਸ਼ਨ ਆਮ ਤੌਰ 'ਤੇ ਕਲਾਇੰਟ ਅਤੇ ਅਪਸਟਰੀਮ ਦੋਵੇਂ ਸਾਕਟ ਵਰਤਦਾ ਹੈ; ਵਰਕਰ ਦੀ ਕਨੈਕਸ਼ਨ ਸੀਮਾ ਨੂੰ ਸੇਵਾ ਦੀ ਫਾਈਲ-ਡਿਸਕ੍ਰਿਪਟਰ ਸੀਮਾ ਤੋਂ ਵੱਖਰਾ ਸਮਝੋ।
ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਚੱਲਣ ਵਾਲਾ ਪ੍ਰੌਕਸੀ ਕਨੈਕਸ਼ਨ ਆਮ ਤੌਰ 'ਤੇ ਦੋ ਸਾਕਟ ਲੈਂਦਾ ਹੈ: ਕਲਾਇੰਟ ਦਾ ਅਤੇ ਅਪਸਟਰੀਮ ਦਾ। worker_connections ਦੋਵੇਂ ਪਾਸੇ ਗਿਣਦਾ ਹੈ। ਇਸ ਲਈ ਇਸਨੂੰ worker_processes ਨਾਲ ਗੁਣਾ ਕਰਨਾ ਪ੍ਰੌਕਸੀ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਸਮਰੱਥਾ ਦਾ ਕੋਈ ਵਾਅਦਾ ਨਹੀਂ ਦਿੰਦਾ।
ਜਦੋਂ ਕਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੁੰਦੇ ਹਨ, ਦੱਸੀ ਗਈ ਸੀਮਾ ਦੀ ਪਾਲਣਾ ਕਰੋ:
| ਸਬੂਤ | ਜਾਂਚਣ ਵਾਲੀ ਸੈਟਿੰਗ ਜਾਂ ਪ੍ਰੋਸੈਸ ਸਥਿਤੀ |
|---|---|
| worker_connections ਦਾ ਖ਼ਤਮ ਹੋਣਾ | ਵਰਕਰ ਦਾ ਕਨੈਕਸ਼ਨ ਬਜਟ, ਅਪਸਟਰੀਮ ਸਾਕਟਾਂ ਸਮੇਤ |
| ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦਾ “ਬਹੁਤ ਸਾਰੀਆਂ ਫਾਈਲਾਂ ਖੁੱਲ੍ਹੀਆਂ ਹਨ” | ਅਸਲ ਸੇਵਾ ਪ੍ਰੋਸੈਸ ਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਮਿਲਣ ਵਾਲੀ ਫਾਈਲ-ਡਿਸਕ੍ਰਿਪਟਰ ਸੀਮਾ |
ਸੁਣਨ ਵਾਲੇ ਸਾਕਟ, ਲੌਗ ਅਤੇ ਹੋਰ ਖੁੱਲ੍ਹੀਆਂ ਫਾਈਲਾਂ ਵੀ ਡਿਸਕ੍ਰਿਪਟਰ ਖਰਚ ਕਰਦੀਆਂ ਹਨ। ਕਨੈਕਸ਼ਨ ਦਾ ਮੁੜ-ਵਰਤੋਂ ਅਤੇ ਟ੍ਰੈਫਿਕ ਦਾ ਮਿਸ਼ਰਣ ਵਰਤੋਂਕਾਰਾਂ ਅਤੇ ਸਾਕਟਾਂ ਵਿਚਕਾਰ ਸੰਬੰਧ ਬਦਲਦੇ ਹਨ।
worker_rlimit_nofile ਵਾਤਾਵਰਣ ਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਦੇ ਅਧੀਨ ਵਰਕਰ ਦੀਆਂ ਸੀਮਾਵਾਂ ਸਮਾਇਓਜਿਤ ਕਰਦਾ ਹੈ। systemd ਯੂਨਿਟ LimitNOFILE ਸੈੱਟ ਕਰ ਸਕਦੀ ਹੈ; ਇੰਟਰਐਕਟਿਵ ਸ਼ੈੱਲ ਦਾ ulimit ਚੱਲ ਰਹੀ ਸੇਵਾ ਨਹੀਂ ਬਦਲਦਾ।
ਕੰਮ ਦੇ ਭਾਰ ਅਨੁਸਾਰ ਸੀਮਾਵਾਂ ਤੈਅ ਕਰੋ ਅਤੇ ਦੇਖੋ ਕਿ ਇਹਨਾਂ ਨੂੰ ਕੌਣ ਖਰਚ ਕਰਦਾ ਹੈ। ਅਣਕਿਆਸੇ ਕਲਾਇੰਟ ਜਾਂ ਵਾਰ-ਵਾਰ ਫੇਲ੍ਹ ਹੁੰਦੇ ਅਪਸਟਰੀਮ ਕਨੈਕਸ਼ਨ ਪਹਿਲਾਂ ਕਾਫ਼ੀ ਰਹੇ ਬਜਟ ਨੂੰ ਖ਼ਤਮ ਕਰ ਸਕਦੇ ਹਨ। ਵੱਡੀ ਪ੍ਰੋਸੈਸ ਸੰਖਿਆ ਜਾਂ ਮੈਮੋਰੀ ਸੀਮਾ ਡਿਸਕ੍ਰਿਪਟਰ ਦੀ ਘਾਟ ਨਹੀਂ ਸੁਧਾਰਦੀ।