PRODसंप्रभु यूरोपीय BaaS मंचडैशबोर्ड खोलें →

प्रदर्शन · 12 मिनट पढ़ा

Rust बनाम Node.js: बैकएंड बेंचमार्क और विलंबता

Affane Daylami · Fondateur · 5 जुलाई 2026

ब्लॉग पर वापस जाएँ

अगस्त 2025 में अद्यतन एक स्वतंत्र सामुदायिक बेंच पर, रस्ट फ्रेमवर्क 1.4 से 1.7 एमएस विलंबता के साथ प्रति सेकंड 18,000 और 22,000 अनुरोधों के बीच चलते हैं। समतुल्य Node.js फ्रेमवर्क समान हार्डवेयर पर 5,766 और 9,340 req/s के बीच, 3.4-5.5 एमएस पर कैप करता है (शार्कबेंच, 24 अगस्त, 2025)।

यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.

हमने इस पीठ को स्वयं नहीं चलाया: ये तीसरे पक्ष के आंकड़े हैं, सार्वजनिक, स्रोतित और दिनांकित। यह आलेख विवरण देता है कि वे क्या कहते हैं, इसके पीछे की कार्यप्रणाली, और बैकएंड विकल्प के लिए यह वास्तव में क्या बदलता है - ऑराबेस बनाम किसी प्रतियोगी की तुलना नहीं।

ऑराबेस का कोर रस्ट में axum और tokio पर चलता है - मोनोरेपो के Cargo.toml में सत्यापित, समान निर्भरता साझा करने वाली दस सेवाएं। लेकिन हमने आज तक अपना कोई प्रदर्शन आँकड़ा प्रकाशित नहीं किया है। यदि आप सटीक ऑराबेस विलंबता की तलाश कर रहे हैं, तो यह अभी तक मौजूद नहीं है: कार्यप्रणाली संख्या से पहले आएगी, अन्यथा नहीं।

अनिवार्य है

  • शार्कबेंच पर (सामुदायिक बेंच, रायज़ेन 7 7800X3डी, डॉकर/लिनक्स, 08/24/2025): एक्टिक्स, हाइपर, एक्सम और रॉकेट सभी 1.4-1.7 एमएस पर 18,047 और 21,965 req/s के बीच चल रहे हैं। Node.js की ओर फास्टिफाई, कोआ और एक्सप्रेस कैप 5,766 और 9,340 req/s के बीच, 3.4-5.5 एमएस पर।
  • रनटाइम का वजन भाषा जितना ही होता है: वही एक्सप्रेस कोड Node.js पर 5,766 req/s से बन पर 18,917 req/s तक चला जाता है - एक लाइन को बदले बिना एक कारक ×3.3।
  • मेमोरी गैप सबसे स्पष्ट है: एक्सम के लिए 8.5 एमबी बनाम एक्सप्रेस/नोड.जेएस के लिए 82.5 एमबी - रस्ट के कचरा संग्रहकर्ता की अनुपस्थिति के अनुरूप।
  • ऑराबेस ने आज तक अपना कोई भी बेंचमार्क प्रकाशित नहीं किया है। रस्ट/एक्सम/टोकियो कोर की जाँच कोड में की जाती है - प्रदर्शन की नहीं।
  • एक अलग आंकड़ा कुछ भी साबित नहीं करता है: हार्डवेयर, फ्रेमवर्क संस्करण, पेलोड आकार और प्रतिस्पर्धा का स्तर अकेले भाषा की तुलना में रैंकिंग में अधिक भिन्नता रखता है।
#
बेंच

हाल ही की एक तृतीय-पक्ष बेंच क्या दर्शाती है

शार्कबेंच एक स्वतंत्र सामुदायिक परियोजना है जो तीन चीजों को मापती है: समवर्ती HTTP अनुरोधों, I/O संचालन और JSON क्रमबद्धता को संभालने के लिए एक ढांचे की क्षमता। परीक्षण 24 अगस्त, 2025 को अंतिम सार्वजनिक अपडेट के साथ, Ryzen 7 7800X3D पर डॉकर/लिनक्स के तहत चलता है (sharkbench.dev/web, 24 अगस्त, 2026 को एक्सेस किया गया)।

प्रति सेकंड अनुरोधों में थ्रूपुट, रस्ट बनाम Node.jsएक्टिक्स (रस्ट) 21,965 अनुरोध/सेकेंड, हाइपर (रस्ट) 21,781 अनुरोध/सेकंड, एक्सम (रस्ट) 21,030 अनुरोध/सेकेंड, रॉकेट (रस्ट) 18,047 अनुरोध/सेकंड, फास्टिफाइ (नोड.जेएस) 9,340 अनुरोध/सेकेंड, कोआ (नोड.जेएस) 8,828 अनुरोध/सेकंड, एक्सप्रेस (नोड.जेएस) 5,766 अनुरोध/एस। स्रोत: शार्कबेंच, 24 अगस्त, 2025।05k10k15k20kएक्टिक्स (जंग)21 965हाइपर (जंग)21 781एक्सम (जंग)21 030रॉकेट (जंग)18 047फास्टिफाई (नोड.जेएस)9 340कोआ (Node.js)8 828एक्सप्रेस (नोड.जेएस)5 766

स्रोत: शार्कबेंच, 24 अगस्त, 2025 - डॉकर/लिनक्स, रायज़ेन 7 7800X3D।

एक्सम - ऑराबेस अपने रस्ट कोर के लिए जिस फ्रेमवर्क का उपयोग करता है, उसे Cargo.toml में सत्यापित किया गया है - इस बेंच पर प्रति सेकंड 21,030 अनुरोधों को संसाधित करता है। एक्सप्रेस, उत्पादन में सबसे अधिक उपयोग किया जाने वाला Node.js फ्रेमवर्क, एक ही हार्डवेयर पर 5,766 प्रोसेस करता है: 3.6 का कारक। यह कोई अकेला मामला नहीं है. परीक्षण किए गए चार रस्ट फ्रेमवर्क 18,000 से 22,000 req/s की एक संकीर्ण सीमा के भीतर आते हैं, जबकि तीन Node.js फ्रेमवर्क का परीक्षण 5,766 और 9,340 के बीच हुआ।

व्यवहार में, "req/s" निरंतर समवर्ती लोड के तहत थ्रूपुट को मापता है - कम ट्रैफ़िक वाली साइट पर पृथक अनुरोध की गति को नहीं। हर कुछ सेकंड में एक बार बुलाए गए समापन बिंदु के लिए, अंतर कभी नहीं देखा जाता है। यह एक हॉट एंडपॉइंट पर निर्णायक बन जाता है - एक वास्तविक समय प्रवाह, भारी ट्रैफ़िक वाला एक सार्वजनिक एपीआई, एक नौकरी जो हजारों कॉलों को एक साथ जोड़ती है - जहां समान हार्डवेयर के लिए प्रति सीपीयू कोर संसाधित अनुरोधों की संख्या, सीधे बुनियादी ढांचे के बिल को निर्धारित करती है।

#
विलंब

विलंबता उसी पैटर्न का अनुसरण करती है

औसत विलंबता इस बेंच पर समान पदानुक्रम का पालन करती है: परीक्षण किए गए रस्ट फ्रेमवर्क के लिए 1.4 से 1.7 एमएस, जबकि परीक्षण किए गए नोड.जेएस फ्रेमवर्क के लिए 3.4 से 5.5 एमएस की तुलना में।

मिलीसेकेंड में औसत विलंबता, रस्ट बनाम Node.jsएक्टिक्स (रस्ट) 1.4 एमएस, हाइपर (रस्ट) 1.5 एमएस, एक्सम (रस्ट) 1.6 एमएस, रॉकेट (रस्ट) 1.7 एमएस, फास्टीफाई (नोड.जेएस) 3.4 एमएस, कोआ (नोड.जेएस) 3.6 एमएस, एक्सप्रेस (नोड.जेएस) 5.5 एमएस। स्रोत: शार्कबेंच, 24 अगस्त, 2025।0ms1ms2ms3ms4ms5msएक्टिक्स (जंग)1.4msहाइपर (जंग)1.5msएक्सम (जंग)1.6msरॉकेट (जंग)1.7 मि.सेफास्टिफाई (नोड.जेएस)3.4msकोआ (Node.js)3.6msएक्सप्रेस (नोड.जेएस)5.5ms

स्रोत: शार्कबेंच, 24 अगस्त, 2025 - मध्यम विलंबता, p99 नहीं।

यह आंकड़ा औसत है, p99 नहीं। प्रबंधित रनटाइम में कचरा रुकना ज्यादातर प्रेषण कतार को प्रभावित करता है - सबसे धीमे अनुरोध, माध्यिका नहीं। यह इस श्रृंखला में एक समर्पित लेख का विषय है: कचरा संग्रहकर्ता की अनुपस्थिति p99 विलंबता को क्यों बदलती है।

#
क्यों

रस्ट के पास भुगतान करने के लिए जीसी ब्रेक क्यों नहीं है?

रस्ट स्वामित्व द्वारा मेमोरी का प्रबंधन करता है, संकलन समय पर जाँच की जाती है - पृष्ठभूमि में कोई कचरा संग्रहकर्ता नहीं चल रहा है और निष्पादन में बाधा नहीं डाल रहा है। आधिकारिक रस्ट बुक इसका सारांश इस प्रकार देती है: "स्वामित्व की कोई भी सुविधा आपके प्रोग्राम को चलने के दौरान धीमा नहीं करेगी" (रस्ट प्रोग्रामिंग लैंग्वेज, doc.rust-lang.org, 24 अगस्त 2026 को एक्सेस किया गया)। जैसे ही वेरिएबल का स्वामित्व दायरे से बाहर हो जाता है, मेमोरी मुक्त हो जाती है - संकलन समय पर एक ज्ञात समय, रनटाइम पर अप्रत्याशित विराम नहीं।

ownership.rsrust
fn main() {
    let data = String::from("réponse API"); // `डेटा` स्ट्रिंग का स्वामी है
    process(data); // कब्ज़ा यहीं छूट जाता है
    // `डेटा` अब यहां मान्य नहीं है - कोई लटकता हुआ सूचक नहीं, कोई डबल फ्री नहीं
} // `डेटा` यहां नियतात्मक रूप से जारी किया जाता है

fn process(s: String) {
    println!("{s}");
} // `s` यहां दायरे से बाहर हो जाता है: तत्काल रिलीज, बिना कचरा संग्रहण पास के

इसके विपरीत, Node.js, एक एकल JavaScript थ्रेड पर चलता है और एक बहु-चरण ईवेंट लूप (टाइमर, विलंबित कॉलबैक, पोल, चेक...) के माध्यम से कर्नेल को I/O संचालन सौंपता है - लेकिन उस थ्रेड पर कोई भी समकालिक गणना, जिसमें V8 इंजन से कचरा संग्रहण पास भी शामिल है, चलने के दौरान निष्पादन को अवरुद्ध कर देता है (आधिकारिक Node.js दस्तावेज़, nodejs.org, 24 अगस्त, 2026 को एक्सेस किया गया)। यह एक मेमोरी मॉडल अंतर है, कार्यान्वयन विवरण नहीं।

#
बारीकियां

वास्तविक आश्चर्य: रनटाइम का महत्व भाषा जितना ही होता है

उसी बेंच से सबसे प्रतिकूल परिणाम रस्ट से संबंधित नहीं है: यह स्वयं Node.js से संबंधित है। एक्सप्रेस - एक और एक ही कोड, एक और एक ही एपीआई - एप्लिकेशन कोड की एक पंक्ति को बदले बिना, Node.js पर 5,766 req/s से बन पर 18,917 req/s तक जाता है, ×3.3 का एक कारक (Sharkbench, 24 अगस्त, 2025)।

एक्सम की तुलना में जावास्क्रिप्ट रनटाइम के अनुसार थ्रूपुट व्यक्त करेंजंग पर एक्सम: 21,030 अनुरोध/सेकेंड। बन पर एक्सप्रेस: ​​18,917 अनुरोध/सेकेंड। डेनो पर एक्सप्रेस: ​​6,088 अनुरोध/सेकेंड। Node.js पर एक्सप्रेस: ​​5,766 अनुरोध/सेकेंड। तीनों मामलों में समान एक्सप्रेस कोड। स्रोत: शार्कबेंच, 24 अगस्त, 2025।05k10k15k20kएक्सम (जंग, संदर्भ)21 030बन पर व्यक्त करें18 917डेनो पर एक्सप्रेस करें6 088Node.js पर एक्सप्रेस करें5 766

स्रोत: शार्कबेंच, 24 अगस्त, 2025 - वही एक्सप्रेस कोड, तीन जावास्क्रिप्ट रनटाइम।

डेनो पर, यही एक्सप्रेस कोड 6,088 req/s पर कैप करता है - Node.js के करीब, बन से दूर। जावास्क्रिप्ट भाषा तीनों मामलों में समान है; यह रनटाइम है - इसका जेएस इंजन, इसका इवेंट लूप कार्यान्वयन, इसका कचरा संग्रहण - जो गेम को बदल देता है। रनटाइम, संस्करण और ढांचे को निर्दिष्ट किए बिना "रस्ट" की तुलना "नोड.जेएस" से करना भाषाओं की नहीं, बल्कि कॉन्फ़िगरेशन की तुलना करने जैसा है।

और इस सब में जाओ?

इसी बेंच पर, गो जिन फ्रेमवर्क 3,546 req/s पर पहुंच जाता है जब फास्टएचटीटीपी - अभी भी गो में - केवल 0.7 एमएस (शार्कबेंच, 24 अगस्त, 2025) की विलंबता के साथ 5,567 req/s तक चढ़ जाता है। एक ही भाषा के लिए दो बहुत अलग परिणाम: एक पृथक आंकड़ा कभी भी पूरे पारिस्थितिकी तंत्र का सारांश नहीं देता है।

#
क्रियाविधि

एक एकल बेंचमार्क संख्या कभी भी पर्याप्त क्यों नहीं होती?

TechEmpower फ्रेमवर्क बेंचमार्क उसी विचार को बड़े पैमाने पर दर्शाता है। इसका ओपन सोर्स रिपॉजिटरी 24 मार्च, 2026 को अपडेट किया गया था, और इसका सबसे हालिया राउंड (राउंड 23) 16 मार्च, 2026 की एक पोस्ट का विषय था (TechEmpower, 24 अगस्त, 2026 को एक्सेस किया गया)। यह परियोजना सैकड़ों कार्यान्वयनों पर कई प्रकार के परीक्षण चलाती है, ठीक इसलिए क्योंकि एक भी परीक्षण कभी भी किसी ढांचे का प्रतिनिधित्व नहीं करता है, भाषा की तो बात ही छोड़ दें।

डेटाबेस बाजार के एक खिलाड़ी कॉन्वेक्स ने इस विषय पर सबसे स्पष्ट स्थिति तैयार की है: प्रतिस्पर्धी डेटाबेस के बीच विपणन "बार चार्ट युद्ध" में भाग लेने से इनकार करना, जिसे भ्रामक माना जाता है। "यह थिएटर का विस्तार है, विस्तार नहीं", टीम लिखती है (Convex, 24 अगस्त 2026 को एक्सेस किया गया)। हम इस रीडिंग को साझा करते हैं: एक प्रकाशित पद्धति के बिना, एक खाली आंकड़ा, कुछ भी साबित नहीं करता है - न तो किसी प्रतियोगी के लिए, न ही हमारे लिए।

What it changes in concrete terms: hardware (CPU, RAM), exact version of the framework and runtime, size of the JSON payload, level of competition and duration of the test all vary the ranking — sometimes more than the choice of language itself. A bench that does not publish these parameters does not reproduce, therefore does not verify itself — see our complete and reproducible methodology for benchmarking abackend.

#
औराबेस

और इस सब में ऑराबेस?

The core backend of Aurabase is written in Rust, on axum and tokio — checked in the Cargo.toml of the monorepo: ten services (aura-gateway, aura-auth, aura-db…) share the same workspace dependency axum (0.8) and the same runtime tokio, in 2021 edition. The gateway which routes data plane and management plane traffic relies on hyper in addition to axum — the full details are in our article on the data plane / management plane architecture of the gateway. The structure of the Cargo workspace that supports these ten services is documented in our article on the Cargo workspace.

हमारे पास अभी तक प्रलेखित कार्यप्रणाली और हार्डवेयर के साथ प्रकाशित ऑराबेस थ्रूपुट या विलंबता आंकड़ा नहीं है। यह जानबूझकर किया गया है: हम पद्धति को अन्य तरीके से प्रकाशित करने के बजाय आंकड़े से पहले प्रकाशित करना पसंद करते हैं - यह इस श्रृंखला में भविष्य के लेख का विषय है।

संपूर्ण आर्किटेक्चर तुलना के लिए - ऑराबेस पर एकीकृत रस्ट कोर बनाम प्रत्यक्ष प्रतियोगी पर प्रलेखित विषम स्टैक एलिक्सिर/गो/टाइपस्क्रिप्ट/नोड - हमारी विस्तृत तुलना ऑराबेस बनाम सुपाबेसदेखें। यदि आप पहले से ही किसी प्रोजेक्ट को माइग्रेट कर रहे हैं, तो सुपाबेस टू ऑराबेस माइग्रेशन गाइड स्कीमा, आरएलएस नीतियों और एसडीके को कवर करता है।

#
डेटा

परिशिष्ट: संपूर्ण डेटा तालिका

इस लेख में उद्धृत सभी पंक्तियाँ, जैसा कि 24 अगस्त, 2025 को शार्कबेंच द्वारा प्रकाशित किया गया था (डॉकर/लिनक्स, रायज़ेन 7 7800X3डी)।

रूपरेखाक्रमअनुरोध/संविलंबयाद
एक्टिक्सजंग21 9651.4ms16.6 एमबी
अतिजंग21 7811.5ms8.6 एमबी
एक्समजंग21 0301.6ms8.5 एमबी
राकेटजंग18 0471.7 मि.से6.4 एमबी
उपवास करेंनोड.जे.एस9 3403.4ms57.0 एमबी
कोआनोड.जे.एस8 8283.6ms53.3 एमबी
अभिव्यक्त करनानोड.जे.एस5 7665.5ms82.5 एमबी
अभिव्यक्त करनाबन18 9171.3ms53.3 एमबी
अभिव्यक्त करनाडेनो6 0885.0ms130.7 एमबी
जिनजाना3 5461.0ms16.7 एमबी
फास्टएचटीटीपीजाना5 5670.7ms13.4 एमबी

इस डेटा का हवाला दें: शार्कबेंच, "वेब फ्रेमवर्क बेंचमार्क," sharkbench.dev/web, अंतिम बार 24 अगस्त, 2025 को अपडेट किया गया।

#
पूछे जाने वाले प्रश्न

अक्सर पूछे जाने वाले प्रश्नों

क्या इसका मतलब यह है कि Node.js एक ख़राब विकल्प है?+
नहीं, Node.js कई बैकएंड के लिए एक ठोस विकल्प बना हुआ है, खासकर जब टीम पहले से ही टाइपस्क्रिप्ट में कुशल है और लोड सीपीयू कंप्यूटिंग पर हावी नहीं है। यहां मापा गया अंतर उच्च प्रतिस्पर्धा के तहत कच्चे थ्रूपुट और विलंबता में है - विकास उत्पादकता या पैकेज पारिस्थितिकी तंत्र में नहीं। बन पर, रस्ट के साथ अंतर काफी कम हो गया है (एक्सम के लिए 21,030 की तुलना में एक्सप्रेस के लिए 18,917 req/s): रनटाइम का चुनाव उतना ही मायने रखता है जितना कि भाषा का चुनाव।
अन्य Node.js फ्रेमवर्क की तुलना में एक्सप्रेस इतना धीमा क्यों है?+
इस बेंच पर, एक्सप्रेस (Node.js पर 5,766 req/s) परीक्षण किए गए Node.js फ्रेमवर्क में Koa (8,828) और Fastify (9,340) के बाद सबसे धीमा है। एक्सप्रेस 2010 से है और इसका डिज़ाइन कच्चे थ्रूपुट के बजाय मिडलवेयर की सादगी का पक्षधर है। उसी रनटाइम में, फ्रेमवर्क का चयन पहले से ही एक्सप्रेस और फास्टीफाई (शार्कबेंच, 24 अगस्त, 2025) के बीच ×1.6 का अंतर बनाता है।
यह बेंचमार्क कैसे हासिल किया गया और क्या हम इसे पुन: पेश कर सकते हैं?+
इस लेख में उद्धृत पीठ शार्कबेंच से आती है, जो एक स्वतंत्र सामुदायिक परियोजना है जो 24 अगस्त, 2025 (sharkbench.dev/web) पर अंतिम सार्वजनिक अपडेट के साथ, Ryzen 7 7800X3D पर डॉकर/लिनक्स के तहत समवर्ती HTTP अनुरोधों, I/O और JSON क्रमबद्धता का परीक्षण करती है। यह ऑराबेस बेंच नहीं है - हमने न तो इसे स्वयं चलाया है और न ही इसे मान्य किया है; हम उनका हवाला देते हैं क्योंकि उनकी कार्यप्रणाली और सामग्रियां कई मार्केटिंग हस्तियों के विपरीत प्रकाशित होती हैं।
क्या ऑराबेस ने अपने स्वयं के बेंचमार्क प्रकाशित किए हैं?+
नहीं, आज तक नहीं. ऑराबेस के रस्ट/एक्सम/टोकियो कोर को मोनोरेपो स्रोत कोड में सत्यापित किया गया है, लेकिन कोई ऑराबेस-विशिष्ट थ्रूपुट या विलंबता आंकड़े मापा और प्रकाशित नहीं किया गया है। यह लेख तीसरे पक्ष से प्राप्त बेंचों के आधार पर सामान्य तौर पर रस्ट और नोड.जेएस की तुलना करता है - यह किसी प्रतिस्पर्धी के खिलाफ ऑराबेस की तुलना नहीं है।
थ्रूपुट और मेमोरी में अंतर, बुनियादी ढांचे के बिल पर क्या फर्क पड़ता है?+
उद्धृत बेंच पर, एक्सम नोड.जेएस पर एक्सप्रेस के लिए 82.5 एमबी की तुलना में 8.5 एमबी मेमोरी की खपत करता है - जो ×10 के करीब है (शार्कबेंच, 24 अगस्त, 2025)। प्रति इंस्टेंस कम मेमोरी और प्रति सीपीयू कोर संसाधित अधिक अनुरोध, समान ट्रैफ़िक के लिए, कम या छोटे इंस्टेंस के साथ समान लोड रखना संभव बनाते हैं। हालाँकि, वास्तविक प्रभाव आपके लोड प्रोफाइल (आई/ओ-बाउंड या सीपीयू-बाउंड) और आपके क्लाउड प्रदाता पर निर्भर करता है - यह आंकड़ा स्वचालित बचत का वादा नहीं है।
#
निष्कर्ष

क्या याद रखना है

यहां उद्धृत बेंच पर, सभी रस्ट फ्रेमवर्क एक संकीर्ण सीमा में चलते हैं - 18,000 से 22,000 req/s, 1.4-1.7 एमएस - नोड.जेएस पर Node.js फ्रेमवर्क से बहुत आगे (5,766-9,340 req/s, 3.4-5.5 एमएस)। लेकिन रनटाइम स्थिति के साथ-साथ भाषा को भी बदल देता है: बन पर एक्सप्रेस लगभग रस्ट पर एक्सम की बराबरी कर लेता है।

यदि आप अकेले कच्चे प्रदर्शन पर बैकएंड का मूल्यांकन करते हैं, तो संख्या से पहले कार्यप्रणाली की आवश्यकता होती है: हार्डवेयर, संस्करण, पेलोड आकार, प्रतिस्पर्धा का स्तर। ऑराबेस ने अभी तक अपने आंकड़े जारी नहीं किए हैं; जब ऐसा होगा, तो कार्यप्रणाली पहले आएगी।

तैनाती के लिए तैयार हैं?

पाँच मिनट में आपका बैकएंड।

किसी क्रेडिट कार्ड की आवश्यकता नहीं · 500 एमबी निःशुल्क · 50,000 एमएयू