/ / Nginx में कार्यकर्ता_प्रोसेस और कार्यकर्ता_कनेक्ट का अनुकूलन कैसे करें? - अमेज़ॅन-वेब-सर्विसेज, नेग्नेक्स, एवस-ऑप्सवर्क्स

Nginx में वर्कर_प्रोसेसेस और वर्कर_कनेक्शन को कैसे अनुकूलित करें? - अमेज़ॅन-वेब-सर्विसेज, nginx, aws-opsworks

मैं एक EC2 उदाहरण में nginx कॉन्फ़िगरेशन का अनुकूलन करना चाहूंगा। लक्ष्य एक रेल / गेंडा ऐप (ओं) में यथासंभव समवर्ती उपयोगकर्ता अनुरोधों की सेवा करना है

इंस्टेंस चश्मा

vCPU(s):  2
ECU:      6.5
MEMORY:   17.1 GB

वर्तमान में कॉन्फ़िगरेशन:

worker_processes = 4
worker_connections = 12288

निगरानी उपकरण रिपोर्ट:

Memory usage: Around 80%
CPU usage: Around 20%

क्या वर्तमान सीपीयू और उपलब्ध मेमोरी के साथ नगेंक्स में बेहतर प्रदर्शन प्राप्त करना संभव है? अग्रिम में धन्यवाद।

उत्तर:

जवाब के लिए 2 № 1

अंगूठे का एक सामान्य नियम जो मैं nginx + गेंडा सेटअप के लिए अनुसरण करता हूं, वह इस प्रकार है:

  1. नगनेक्स कार्यकर्ता प्रक्रियाओं = कोर की संख्या

  2. नग्नेक्स कार्यकर्ता कनेक्शन = वास्तव में उच्च संख्या (10000+)। यह आपके रखे हुए समय पर निर्भर करता है, लेकिन यह बहुत मायने रखता है कि आपके पास बहुत सारे कनेक्शन उपलब्ध होने चाहिए।

  3. गेंडा कार्यकर्ता प्रक्रियाएं: न्यूनतम कोर की संख्या है। अगर प्रक्रियाएँ अपेक्षाकृत हल्की होती हैं (उपलब्ध रैम को छोड़कर) तो मैं इसे बढ़ाता हूँ।

यह समझने में थोड़ी मुश्किल है कि वास्तव में ईसी 2 उदाहरण पर आपके पास कितने कोर हैं, इसलिए यह उस समय आता है जब यह थोड़ा अधिक परीक्षण और त्रुटि आधारित ट्यूनिंग है।