स्प्रिंग बूट एप्लिकेशन शुरू करते समय, हम आमतौर पर स्टार्टर्स द्वारा प्रदान की गई डिफ़ॉल्ट सेटिंग्स का उपयोग करते हैं, जो ज्यादातर मामलों के लिए पर्याप्त है। हालाँकि, यदि हमें प्रदर्शन की आवश्यकता है, तो कुछ विशिष्ट समायोजन किए जा सकते हैं, जैसा कि इस लेख के पहले भाग में प्रदर्शित किया जाएगा।
अनुप्रयोग वेब, रेस्टफुल, जो स्प्रिंग एमवीसी का उपयोग करते हैं, आम तौर पर स्प्रिंग-बूट-स्टार्टर-वेब निर्भरता जोड़ते हैं, जो डिफ़ॉल्ट रूप से सर्वर के रूप में टॉमकैट का उपयोग करता है वेब। हालाँकि, और भी दिलचस्प विकल्प हैं, जैसे कि अंडरटो, जो एक उच्च-प्रदर्शन वाला वेब सर्वर है, एक एसिंक्रोनस और गैर-अवरुद्ध आर्किटेक्चर के साथ, जो इसे बड़ी संख्या को संभालने की अनुमति देता है। एक साथ कनेक्शन कुशलतापूर्वक, इसे उच्च-प्रदर्शन अनुप्रयोगों के लिए उपयुक्त बनाता है। हम यह नहीं कह रहे हैं कि टॉमकैट खराब है, लेकिन हम अंडरटो.
को एक मौका दे सकते हैं।हमें अंडरटो को वेब सर्वर के रूप में उपयोग करने के लिए, हमें स्प्रिंग-बूट-स्टार्टर-टॉमकैट निर्भरता को अनदेखा करने की आवश्यकता है जो स्प्रिंग-बूट-स्टार्टर-वेब पहले से ही जोड़ता है और फिर स्प्रिंग-बूट-स्टार्टर-अंडरटो जोड़ें।
pom.xml का उपयोग करना:
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-undertow
बिल्ड.ग्रेडल का उपयोग करना:
dependencies { implementation('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } implementation 'org.springframework.boot:spring-boot-starter-undertow' }
एप्लिकेशन.प्रॉपर्टीज या एप्लिकेशन.yml के माध्यम से, हम कॉन्फ़िगर कर सकते हैं कि कितने IO थ्रेड्स और कितने वर्कर थ्रेड्स हम चाहते हैं कि सर्वर उपयोग करे।
application.yml का उपयोग करना
server: undertow: threads: io: 4 worker: 64
एप्लिकेशन.गुणों का उपयोग करना
server.undertow.threads.io=4 server.undertow.threads.worker=64
I/O थ्रेड्स नॉन-ब्लॉकिंग ऑपरेशन करते हैं और उन्हें कभी भी ब्लॉकिंग ऑपरेशन नहीं करना चाहिए, क्योंकि वे एप्लिकेशन पर आने वाले कनेक्शन को सुनने और फिर उन्हें प्रोसेसिंग कतार में भेजने के लिए जिम्मेदार हैं। एक सामान्य मान दो I/O थ्रेड्स प्रति सीपीयू कोर है।
वर्कर थ्रेड्स ब्लॉकिंग ऑपरेशंस निष्पादित करते हैं, जैसे सर्वलेट अनुरोध जो I/O थ्रेड्स द्वारा प्रोसेसिंग कतार में भेजे गए थे। आदर्श मान कार्यभार पर निर्भर करता है, लेकिन आम तौर पर प्रति सीपीयू कोर लगभग 10 थ्रेड कॉन्फ़िगर करने की अनुशंसा की जाती है।
अधिक विस्तृत जानकारी और खोजे जा सकने वाले अधिक विकल्पों के लिए, बस अंडरटो दस्तावेज़ पर जाएं।
डेटा संपीड़न एक ऐसी सुविधा है जिसका उद्देश्य HTTP प्रतिक्रियाओं के मुख्य भाग को कम करना है, जो बदले में नेटवर्क पर प्रसारित डेटा की मात्रा को कम करके हमारे एप्लिकेशन के प्रदर्शन में सुधार कर सकता है।
स्प्रिंग बूट में डेटा संपीड़न को कॉन्फ़िगर करना एक मामूली काम है, क्योंकि यह इस कार्यक्षमता का समर्थन करता है।
application.yml का उपयोग करना
server: compression: enabled: true mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json min-response-size: 1024
एप्लिकेशन.गुणों का उपयोग करना
server.compression.enabled=true server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json server.compression.min-response-size=1024
server.compression.enabled: संपीड़न को सक्षम/अक्षम करता है।
सर्वर.संपीड़न.माइम-प्रकार: MIME प्रकारों की सूची जिन्हें संपीड़ित किया जाना चाहिए।
server.compression.min-response-size: "सामग्री-लंबाई" का न्यूनतम आकार जो संपीड़न निष्पादित करने के लिए आवश्यक है।
इसके साथ, हम लेख का पहला भाग बंद करते हैं। अगले भाग में, हम हिकारी, जेपीए और हाइबरनेट के बारे में अधिक जानेंगे और स्प्रिंग बूट अनुप्रयोगों के प्रदर्शन को और बेहतर बनाने के लिए उन्हें कॉन्फ़िगर करना सीखेंगे।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3