"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्प्रिंग बूट अनुप्रयोगों के प्रदर्शन में सुधार - भाग I

स्प्रिंग बूट अनुप्रयोगों के प्रदर्शन में सुधार - भाग I

2024-09-13 को प्रकाशित
ब्राउज़ करें:370

Melhorando o desempenho de aplicações Spring Boot - Parte I

स्प्रिंग बूट एप्लिकेशन शुरू करते समय, हम आमतौर पर स्टार्टर्स द्वारा प्रदान की गई डिफ़ॉल्ट सेटिंग्स का उपयोग करते हैं, जो ज्यादातर मामलों के लिए पर्याप्त है। हालाँकि, यदि हमें प्रदर्शन की आवश्यकता है, तो कुछ विशिष्ट समायोजन किए जा सकते हैं, जैसा कि इस लेख के पहले भाग में प्रदर्शित किया जाएगा।

Tomcat को दूसरे सर्वलेट कंटेनर से बदलना

अनुप्रयोग वेब, रेस्टफुल, जो स्प्रिंग एमवीसी का उपयोग करते हैं, आम तौर पर स्प्रिंग-बूट-स्टार्टर-वेब निर्भरता जोड़ते हैं, जो डिफ़ॉल्ट रूप से सर्वर के रूप में टॉमकैट का उपयोग करता है वेब। हालाँकि, और भी दिलचस्प विकल्प हैं, जैसे कि अंडरटो, जो एक उच्च-प्रदर्शन वाला वेब सर्वर है, एक एसिंक्रोनस और गैर-अवरुद्ध आर्किटेक्चर के साथ, जो इसे बड़ी संख्या को संभालने की अनुमति देता है। एक साथ कनेक्शन कुशलतापूर्वक, इसे उच्च-प्रदर्शन अनुप्रयोगों के लिए उपयुक्त बनाता है। हम यह नहीं कह रहे हैं कि टॉमकैट खराब है, लेकिन हम अंडरटो.

को एक मौका दे सकते हैं।

अंडरटो को स्प्रिंग में जोड़ना

हमें अंडरटो को वेब सर्वर के रूप में उपयोग करने के लिए, हमें स्प्रिंग-बूट-स्टार्टर-टॉमकैट निर्भरता को अनदेखा करने की आवश्यकता है जो स्प्रिंग-बूट-स्टार्टर-वेब पहले से ही जोड़ता है और फिर स्प्रिंग-बूट-स्टार्टर-अंडरटो जोड़ें।

pom.xml का उपयोग करना:

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcatorg.springframework.bootspring-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 प्रतिक्रियाओं को संपीड़ित करना

डेटा संपीड़न एक ऐसी सुविधा है जिसका उद्देश्य 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: "सामग्री-लंबाई" का न्यूनतम आकार जो संपीड़न निष्पादित करने के लिए आवश्यक है।

इसके साथ, हम लेख का पहला भाग बंद करते हैं। अगले भाग में, हम हिकारी, जेपीए और हाइबरनेट के बारे में अधिक जानेंगे और स्प्रिंग बूट अनुप्रयोगों के प्रदर्शन को और बेहतर बनाने के लिए उन्हें कॉन्फ़िगर करना सीखेंगे।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/mathstylish/melhorando-a-performance-de-aplicationcoes-spring-boot-parte-i-58jl?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com पर संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3