मैं आर के चमकीले ढांचे का उपयोग करके एक छोटा वेब ऐप चला रहा हूं। उपकरण इतना नहीं करता है। यह सिर्फ यूआई से दिए गए पैरामीटर के साथ डेटा फ्रेम फ़िल्टर कर रहा है। अब मेरे पास समस्या निम्न है। यदि कोई उपयोगकर्ता http के माध्यम से ऐप तक पहुंच रहा है तो ऐप शुरू करने में काफी समय लगता है। चूंकि डेटा, जिसे मैं global.R
में लोड करता हूं, काफी बड़ा (~ 5 जीबी) है। प्रारंभिक शुरुआत के बाद, ऐप चिकनी चल रहा है, जब किसी दिए गए समय में पुनः एक्सेस हो रहा है (ऐप कुछ मिनटों के लिए पूरी तरह स्मृति में लगता है)। चूंकि मुझे पर्याप्त मेमोरी उपलब्ध है, और मेरा डेटा उपयोगकर्ता इंटरैक्शन द्वारा नहीं बदला जाता है, इसलिए मैं खुद से पूछ रहा हूं कि क्या मैं पूरी ऐप को स्मृति में रख सकता हूं। क्या यह मजबूर करना संभव है? मेरा सर्वर सेंटोस 6 चला रहा है। इसके अलावा समस्या फाइल सिस्टम, हार्ड डिस्क इत्यादि नहीं है - मैंने डेटा लोड करने के लिए रैम डिस्क बनाई है, लेकिन प्रदर्शन में वृद्धि मामूली है। इसलिए डेटा प्रोसेस करते समय बोतल की गर्दन आर होती है।आर चमकदार मेमोरी एप्लिकेशन या नोएसक्यूएल
अब मुझे दो विचार मिले हैं, जो समस्या को दूर कर सकते हैं।
- जैसा कि मैंने बताया है, क्या पूरा ऐप स्मृति में रखना संभव है?
- डेटा को आर ऑब्जेक्ट्स के रूप में सहेजें नहीं, इसके बजाय एक तेज़ नोएसक्यूएल डीबी उदा। Redis wich स्मृति में है
बड़ा डेटा लोड करते समय आप में से एक को कुछ अनुभव हो सकता है। यदि कोई चर्चा हो सकती है तो मैं आभारी रहूंगा। यदि यह संभव है, तो मैं यथासंभव सरल सब कुछ रखने के लिए, रेडिस जैसे बाहरी सॉफ़्टवेयर से बचना चाहता हूं।
सभी बेहतरीन साथ,
मारियो