2016-09-08 5 views
5

मैंने जावा स्प्रिंग फ्रेमवर्क के प्रदर्शन का परीक्षण किया, जिसमें आरईएसटी एपीआई विकसित करने के लिए स्प्रिंग बूट + एसएसएल जैसी सुविधाओं के साथ परीक्षण किया गया।स्प्रिंग बूट + एसएसएल: बहुत अधिक सीपीयू उपभोग

मुझे पता चला कि अगर मैं स्प्रिंग ढांचे में एसएसएल सुविधा जोड़ता हूं, तो यह बहुत अधिक CPU का उपभोग करेगा। हालांकि, मैं एसएसएल सुविधा हटा देता हूं, यह समस्या नहीं हुई।

मैंने आरईएसटी आवेदन का परीक्षण करने के लिए वर्तमान 20 HTTP अनुरोध/सेकंड या 100 अनुरोध/सेकंड भेजकर तनाव परीक्षण किया था, एप्लिकेशन हमेशा लगभग 200% CPU का उपभोग करेगा।

मैंने स्प्रिंग से टॉमकैट तक एप्लिकेशन सेवाओं को बदल दिया है। नतीजा वही था।

Test Environment 
- Sender : Loading Test Generator Ubuntu, Dual Core, EC2 on AWS. 
- Receiver: Spring-Boot + SSL, Ubuntu, Dual Core, EC2 on AWS. 

निम्नलिखित रिसीवर सर्वर पर परीक्षण कार्यक्रम है।

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

/** 
* Hello world! 
* 
*/ 
@SpringBootApplication 
//@EnableAutoConfiguration 
public class App 
{ 
    public static void main(String[] args) 
    { 
     SpringApplication.run(App.class, args); 
    } 
} 

निम्नलिखित प्रेषक सर्वर पर घेराबंदी में टेस्ट जेनरेटर कमांड लोड हो रहे हैं।

//Current 1 request 
siege -b -c6 -t60S https://receiver Server IP:8443/ 

//Current 100 request 
    siege -b -c100 -t60S https://receiver Server IP:8443/ 

निम्न जानकारी रिसीवर सर्वर पर मेरा परीक्षण परिणाम है।

Current Requests/sec  Usage of CPU1 Usage of CPU2 Succ 
    1       40%   40%   100% 
    2       80%   80%   100% 
    3       95%   95%   100% 
    6       100%   100%   100% 
    100      100%   100%   100% 
    600      100%   100%   100% 

ऐसा लगता है कि वसंत का अधिकतम प्रदर्शन 3 अनुरोध/सेकंड है जबकि CPU का उपयोग 100% से कम है। हालांकि वसंत ऐप सभी अनुरोधों को संसाधित कर सकता है, यह बहुत अधिक CPU का उपभोग करता है।

कृपया नीचे दिए गए एक बहुत ही सरल कोड को डाउनलोड करें और इसे आज़माएं। https://github.com/dpomaresp/Spring-boot-with-ssl

क्या आप इस मुद्दे को स्पष्ट करने में मेरी सहायता कर सकते हैं? यह अजीब मुद्दा क्यों हुआ? क्या यह वसंत ढांचे का मुद्दा है?

इस मामले में आपकी दयालु सहायता की सराहना की जाएगी।

एरिक

+0

मैंने स्प्रिंग-बूट फ्रेमवर्क v1.3.0 और 1.4.0 के साथ इसका परीक्षण भी किया है। नतीजा वही था। –

+0

आप वसंत में एसएसएल नहीं जोड़ते हैं जिसे आप इसे टोमकैट में जोड़ते हैं। इसलिए एम्बेडेड से एम्बेडेड में इसे बदलना किसी चीज़ को नहीं बदला जाना चाहिए। इससे सीपीयू लोड में वृद्धि होगी क्योंकि सभी कनेक्शनों के लिए एन्क्रिप्शन और डिक्रिप्शन हो रहा है। –

+0

आपके ध्यान के लिए धन्यवाद। मैंने इसे टोमकैट में जोड़ा। लेकिन सीएसयू लोड बहुत तेजी से बढ़ गया था, यहां तक ​​कि आरईएसटी आवेदन में थोड़ी सी मात्रा भेज रही थी। –

उत्तर