हैलो देव, इस मंच पर यह मेरी पहली पोस्ट है! ?
मैं एक्सप्रेस.जेएस और एसक्यूएल के साथ अपने एक आश्चर्यजनक अनुभव को साझा करना चाहता था। मैं एक शुरुआती डेवलपर हूं, और अपने प्रोजेक्ट के लिए एपीआई पर काम करते समय, मैं प्रति दिन 200k से अधिक एपीआई अनुरोधों को संभाल रहा था। प्रारंभ में, मैंने Express.js API के साथ एक SQLite डेटाबेस (~400 एमबी) स्थापित किया, और चीजों को गति देने के लिए Node.js कैशिंग का उपयोग किया।
सबसे पहले, एक क्वेरी के लिए प्रतिक्रिया समय लगभग 200-300 एमएस था, क्योंकि इसमें कई जॉइन और खोजें शामिल थीं। इसलिए, मैंने यह देखने के लिए कुछ प्रयोग चलाने का निर्णय लिया कि क्या मैं प्रदर्शन में सुधार कर सकता हूं।
मैंने यह किया:
परिणाम आश्चर्यजनक था! अनुक्रमण के बाद, मेरी कुछ अधिक जटिल क्वेरीज़, जिनमें कई जॉइन शामिल थे, केवल 3-5 एमएस में निष्पादित की जा रही थीं।
पहले, नोड कैशिंग के साथ:
बाद में, केवल SQLite इंडेक्स के साथ:
प्रत्येक अनुरोध में बिना किसी कैशिंग के केवल 7-10 एमएस लगता है।
अब क्वेरीज़ लगातार तेज़ हैं, और इससे सर्वर लोड भी कम हो गया है! प्रारंभ में, मैं अपना ऐप 4 जीबी रैम और 4 वीसीपीयू के साथ DigitalOcean ड्रॉपलेट पर चला रहा था। लेकिन SQL क्वेरी को अनुकूलित करने के बाद, मैं केवल 2 जीबी रैम और 2 वीसीपीयू के साथ समान कार्यभार को आराम से संभाल सकता हूं।
मुझे पता है कि यह सरल लग सकता है, लेकिन उचित SQL अनुक्रमण ने क्वेरी प्रदर्शन में इतना बड़ा अंतर ला दिया है कि अब मुझे कैशिंग पर भरोसा करने की भी आवश्यकता नहीं है। ?
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3