2014-04-11 8 views
7

के लिए ग्रेल्स बनाम वसंत प्रदर्शन मैंने शुद्ध ग्रोवी/ग्रेइल्स का उपयोग करके कुछ आरईएसटी एंडपॉइंट बनाए हैं। अभी के लिए अधिकांश ऑपरेशन सभी सीआरयूडी की तरह हैं।आरईएसटी

मैं जेएमटर का उपयोग करके किए गए सीआरयूडी परिदृश्यों के लिए ग्राइल्स ऐप के समकक्ष जावा/स्प्रिंग ऐप के प्रदर्शन की तुलना करना शुरू कर रहा हूं। तो अब मैं उन परिदृश्यों का सबसेट ले रहा हूं जिन्हें मैंने Grails में लागू किया है और मूल स्प्रिंग एमवीसी ऐप पर पोर्टिंग किया है।

मुझे वेब पर दूसरों द्वारा प्रकाशित प्रदर्शन तुलना देखने में बहुत दिलचस्पी है। क्या कोई मुझे कुछ लोगों को संदर्भित कर सकता है?

परीक्षण और विश्लेषण के संबंध में कोई अन्य जानकारी मैं करने जा रहा हूं। धन्यवाद!


अद्यतन उत्तर के बारे में:

  • @ संदर्भ नीचे लारी का जवाब बेहद व्यापक परीक्षण के साथ एक वेबसाइट, अन्य की एक भीड़ के अलावा (README.md देखें) Grails 2.X बनाम Spring 4.X तुलना, चौखटे।
    • हालांकि, उन परीक्षण Grails राल पर चल रहा है, जबकि स्प्रिंग बिलाव पर है। Grails डिफ़ॉल्ट रूप से Tomcat का उपयोग करता है के बाद से थोड़ा अजीब।
    • रालिन और टॉमकैट तर्कसंगत रूप से similar performance है।
  • वेबसाइट में कई अनुभाग (शीर्ष पर टैब) और यहां तक ​​कि उपखंड ("परिणाम" क्षेत्र में टैब) हैं। मेरा मूल प्रश्न आरईएसटी के लिए वेब सेवा व्यवहार के संबंध में था। इसके अंत में शीर्ष स्तर के अनुभाग हैं जो मेरे प्रश्न का उत्तर देते हैं:
    • Querying multiple rows in a DB table (HTTP GET) और परिणामस्वरूप JSON सरणी लौटा रहा है।
    • Modifying multiple rows in a DB table और परिणामस्वरूप JSON सरणी लौटा रहा है। यह परीक्षण किसी HTTP के साथ HTTP PUT का उपयोग नहीं करता है, बल्कि इसके बजाय HTTP प्राप्त करता है। विवरण के लिए पृष्ठ के नीचे स्क्रॉल करें, और Requirements पृष्ठ भी।
  • यदि आप एचटीएमएल प्रतिपादन में रूचि रखते हैं तो Fortune Cookie उदाहरण देखें।

आश्चर्य की बात नहीं है कि वसंत बेहतर है, लेकिन @ जोशुआ बताते हैं, यह एक प्रदूषित उदाहरण है और आपको परिणामों से बाहर निकलने के लिए जज होना होगा। उल्लेख नहीं है कि ग्रिल ने राल का इस्तेमाल किया जबकि स्प्रिंग ने टॉमकैट का इस्तेमाल किया। उम्मीद है कि प्रत्येक सर्वर (टोमकैट/राल) को अधिकतम थ्रेड, जावा मेमोरी इत्यादि के समान ही कॉन्फ़िगर किया गया था? कॉन्फ़िगरेशन फ़ाइलों को source code में दफनाया जा सकता है (यदि आपको पता चलता है, तो मुझे बताएं)।

मैं वसंत 4.X बनाम Grails 2.X के लिए डमी अनुप्रयोग भी सेट करता हूं, टॉमकैट को ठीक उसी तरह कॉन्फ़िगर किया जा रहा है (दोनों ने ग्रेल्स के अंदर एक बंडल के बजाए एक ही स्टैंडअलोन टॉमकैट इंस्टॉलेशन का उपयोग किया)। मेरे परीक्षणों में मैंने एक HTTP जीईटी किया और एक JSON सरणी लौटा दी जिसे स्थिर (पूर्व-तत्काल) इन-मेमोरी ऑब्जेक्ट्स (कोई डीबी क्वेरी) का उपयोग करके गठित नहीं किया गया था। मेरे परिणामों ने वसंत के लिए बेहतर प्रदर्शन भी दिखाया (क्षमा करें मुझे अब अपना डेटा नहीं मिल रहा है!)। मैंने स्प्रिंग बूट का इस्तेमाल स्प्रिंग ऐप को जल्दी से थप्पड़ मारने के लिए किया था, और Grails पहले से ही डिफ़ॉल्ट रूप से मचान कर रहा है।

+1

दुर्भाग्य से मैं आपको किसी भी तुलना में संदर्भित नहीं कर सकता लेकिन मुझे आपके द्वारा प्राप्त परिणामों में बहुत दिलचस्पी है। कृपया उन्हें प्रकाशित करें। – Opal

+0

मुझे लगता है कि आपको मिले मुख्य मुद्दों में से एक यह है कि इतने सारे चर हैं कि अगर कोई दो की तुलना करता है तो तुलना केवल उस सटीक कार्यान्वयन के लिए मान्य होगी। आप उस तरह के बेंचमार्क का उपयोग नहीं कर सकते हैं ताकि अन्य परियोजनाओं का प्रदर्शन किया जा सके। फिर भी, मुझे किसी को वास्तव में अपने स्वयं के आवेदन के प्रदर्शन को मापने और मापने के लिए एक डमी ऐप नहीं बनाने में खुशी हुई है। –

उत्तर

1

इस PLAY VS. GRAILS SMACKDOWN प्रस्तुति पर एक नज़र डालें। आप अंदर परफॉर्मेंस के कुछ परिणाम पा सकते हैं।