प्रदर्शन प्रश्नों के साथ सामान्य रूप से, परिणाम काफी भिन्न हो सकते हैं, इसलिए उत्तर यह है: के लिए तेज़ी से क्या काम करता है।
शुरू करने की जगह यह मापने के लिए है कि चीजें करने में कितना समय लगता है जैसे आप उन्हें कर रहे हैं। एक बार ऐसा करने के बाद, खुद से पूछें: क्या यह पर्याप्त तेज़ है? ऐसा हो सकता है कि, हालांकि यह चीजों को करने का सबसे तेज़ तरीका नहीं हो सकता है, फिर भी यह इतना तेज है कि गति चिंता का विषय नहीं है।
फ़ाइल ग्लोब प्राप्त करने में कितना समय प्रसंस्करण होता है? 1%? 10%? 50%? यह प्रतिशत जितना अधिक होगा, उतना ही सार्थक होगा कि आप चीजों को कैसे बदलते हैं।
इसके अलावा, संपूर्ण रूप से साइट प्रदर्शन कैसा है? यदि आप प्रत्येक पृष्ठ लोड की गति को दोगुना करते हैं, तो क्या लोग नोटिस करेंगे? यदि नहीं, तो यह वास्तव में प्रदर्शन ट्यूनिंग करने के लायक नहीं हो सकता है, भले ही आपको ऐसा करने के लिए स्पष्ट स्थान दिखाई दे।
यदि आपको लगता है कि आप बेहतर कर सकते हैं, तो अपने डेटाबेस का उपयोग करके कार्यक्षमता को कार्यान्वित करें और यदि तेज़ हो तो मापें। फिर, इसके साथ परिणाम अत्यधिक चर हो सकता है। उदाहरण के लिए, यदि आपके डेटाबेस भारी लोड के अधीन है, तो डेटाबेस से परिणाम प्राप्त करना बहुत धीमा हो सकता है। यदि आपके पास बड़े पैमाने पर शक्तिशाली डेटाबेस है जिसका उपयोग शायद ही किया जाता है, तो यह बहुत तेज़ हो सकता है। केवल परीक्षण ही आपको सत्य बता सकता है।
मैं जोड़ता हूं कि जिस तरह से आप चीजें कर रहे हैं अब सरल और अधिक रखरखाव लगता है, क्योंकि यह आपकी डिस्क पर वास्तविक फ़ाइलों के आधार पर फ़ाइल नाम पाता है। यदि आप डेटाबेस का उपयोग करने का प्रयास करते हैं, तो आपको फाइल सिस्टम में फ़ाइलों की सूची के साथ डेटाबेस में फ़ाइल नामों की सूची सिंक्रनाइज़ करने की चिंता करनी होगी।
हालांकि, यह जानना एक बात है कि कई फाइल सिस्टम खराब होते हैं जब आपके पास एक बड़ी निर्देशिका वाली फाइलें होती हैं। यदि आपके पास यह स्थिति है, तो फ़ाइलों को एकाधिक उपनिर्देशिकाओं में विभाजित करने पर विचार करें। एक लोकप्रिय तरीका है नाम एजे के साथ निर्देशिका बनाना और फिर "ए" निर्देशिका में "ए" से शुरू होने वाली सभी फाइलें, "बी" निर्देशिका में "बी" से शुरू होने वाली सभी फाइलें आदि। हालांकि, यह शायद ही होगा एक बार आपके पास हजारों फाइलें हैं, और फिर भी यह विशेष फाइल सिस्टम और हार्डवेयर पर निर्भर करता है।
(संपादित करें टिप्पणी :)
जब से तुम परिणाम पूर्व कंप्यूटिंग और डेटाबेस में उन भंडारण के बारे में बात कर रहे हैं, मेरा सुझाव है कि एक डेटाबेस में बातें डाल तुलना में एक बेहतर दृष्टिकोण एक कैशिंग सर्वर का उपयोग करने के लिए है के आधार पर जैसे http://memcached.org/। आप इसे एक संकर दृष्टिकोण के रूप में देख सकते हैं: आप अभी भी वही काम करते हैं जिस तरह से आप उन्हें कर रहे हैं, लेकिन हर बार जब आप परिणाम चाहते हैं, तो आप पहली बार कैश को जांचने के लिए जांचें कि इसमें परिणाम है या नहीं; यदि ऐसा होता है, तो कैश किए गए परिणाम का उपयोग किया जाता है, अन्यथा नए ग्लोब की गणना करें।यह डेटाबेस और फाइल सिस्टम को सिंक में रखने की समस्या से बचाता है, क्योंकि पुरानी कैश प्रविष्टियां समाप्त हो सकती हैं और नए, सही वाले लोगों द्वारा प्रतिस्थापित की जा सकती हैं।
पर विचार करते हुए 50+ उपयोगकर्ता एक बार ऑनलाइन होते हैं। – ArslanCb
इस प्रश्न में मूल समस्या यह प्रतीत होती है कि आप "उपयोग के बारे में चिंतित हैं", लेकिन यह स्पष्ट नहीं है कि आप इसका क्या मतलब रखते हैं। कृपया उस समस्या की व्याख्या करें जो आपको अधिक स्पष्ट रूप से चिंतित करती है ताकि हम सहायता कर सकें। आपकी राय में, अब आप जिस तरह से कर रहे हैं उसके साथ समस्या क्या है? –
धन्यवाद नाट। हां मेरी मुख्य चिंता सीपीयू/मेमोरी है या आप प्रदर्शन कह सकते हैं। कौन सा विकल्प बेहतर है। – ArslanCb