मुझे पता है कि बहुत सारी सकारात्मक चीजें हैं जो पुनः-लिखने को पूरा करती हैं। लेकिन क्या कोई नकारात्मक है? जाहिर है कि यदि आपके पास खराब लिखित नियम हैं तो आपको समस्याएं आ रही हैं। लेकिन क्या होगा यदि आपके पास उच्च मात्रा वाली साइट है और आप लगातार मॉड-रीराइट का उपयोग कर रहे हैं, तो क्या इसका प्रदर्शन पर महत्वपूर्ण प्रभाव पड़ता है? मैंने Google पर कुछ बेंचमार्क की त्वरित खोज की और मुझे बहुत कुछ नहीं मिला।मॉड-रिवाइट का उपयोग करते समय कोई नकारात्मक प्रभाव?
उत्तर
मैंने उन साइटों पर mod_rewrite का उपयोग किया है जो किसी भी महत्वपूर्ण प्रदर्शन समस्याओं के बिना लाखों/हिट/महीने प्राप्त करते हैं। आपको यह जानना होगा कि आपके नियमों के आधार पर कौन से पुनर्लेखन पहले लागू होते हैं।
mod_rewrite का उपयोग करना आपकी वर्तमान भाषा के साथ यूआरएल को पार्स करने से अधिक तेज़ है।
यदि आप प्रदर्शन के बारे में वास्तव में चिंतित हैं, तो .htaccess
फ़ाइलों का उपयोग न करें, वे धीमे हैं। अपने अपाचे कॉन्फ़िगरेशन में अपने सभी पुनर्लेखन नियम रखें, जो स्टार्टअप पर केवल एक बार पढ़ा जाता है। .htaccess
फ़ाइलों को प्रत्येक अनुरोध पर प्रत्येक.htaccess
फ़ाइल को मूल फ़ोल्डर्स में पुनः-विश्लेषण किया जाता है।
यदि आप अपाचे के प्रदर्शन के बारे में चिंतित हैं, तो विचार करने के लिए एक बात यह है कि यदि आपके पास बहुत सारे पुनर्लेख नियम हैं तो "छोड़ें" ध्वज का उपयोग करना है। यह नियमों पर मिलान छोड़ने का एक तरीका है। तो, मिलान पर जो भी ओवरहेड खर्च किया गया होगा बचाया जाता है।
हालांकि सावधान रहें, मैं एक परियोजना पर था जिसने "छोड़ें" ध्वज का बहुत उपयोग किया, और यह रखरखाव दर्दनाक बना दिया, क्योंकि यह उस क्रम पर निर्भर करता है जिसमें फाइल में चीजें लिखी जाती हैं।
कुछ परिस्थितियों में [एल] ध्वज का उपयोग करना बेहतर हो सकता है (यह इंगित करता है कि * सभी * निम्नलिखित नियमों को छोड़कर निम्नलिखित नियमों को छोड़ दिया जाना चाहिए) नहीं? –
और उपनिर्देशिका/नए स्थानीयकरण में .htaccess को रोकने के लिए "END" ध्वजांकित करें – 18C
रायन के ऊपर क्या कहता है उसे प्रतिबिंबित करने के लिए, .htaccess
में नियम आपकी कॉन्फ़िगरेशन फ़ाइल में नियमों की तुलना में व्यस्त साइट पर आपके लोड समय को वास्तव में चोट पहुंचा सकते हैं। हमने शुरू में इस (~ 60 मिलियन पेज/महीने) की कोशिश की लेकिन हमारे सर्वर धूम्रपान शुरू होने तक बहुत लंबे समय तक नहीं टिके :)
आपकी कॉन्फ़िगरेशन में नियम रखने के लिए स्पष्ट नकारात्मकता है जब भी आप अपना संशोधित करते हैं तो आपको कॉन्फ़िगर को फिर से लोड करना होगा नियम।
अंतिम ध्वज ("एल") आपके नियमों को निष्पादित करने के लिए उपयोगी है, एक बार आपके अधिक बार-बार उपयोग किए जाने वाले नियम शीर्ष की ओर हैं और पहले मूल्यांकन किए जाते हैं। यदि आपके पास नियमों का एक लंबा सेट है, तो यह रखरखाव को अधिक कठिन बना सकता है - मैंने एक सुबह बहुत निराशाजनक घंटों बर्बाद कर दिए क्योंकि मैं नियमों की सूची में मध्य-मार्ग संपादित कर रहा था और एक शीर्ष पर था जो अधिक से अधिक फंस रहा था इरादा!
हमें प्रासंगिक मानक भी ढूंढने में कठिनाई हुई, और परीक्षणों के अपने आंतरिक सूट को पूरा करने में कामयाब रहा। एक बार जब हमारे नियमों को हल किया गया, ठीक से आदेश दिया गया और हमारे अपाचे conf में, हमें नकारात्मक प्रदर्शन प्रभाव नहीं मिला।
- 1. 20K लाइनों का उपयोग करते समय "प्रदर्शन प्रभाव" एकल वर्ग
- 2. खोज करते समय INDEX पर CONVERT() का क्या प्रभाव है?
- 3. का उपयोग करते समय @require_POST
- 4. एमएस-एक्सेल नकारात्मक समय
- 5. नकारात्मक समय संभाल
- 6. कॉच डीबी/मोचीवेब: लगातार कनेक्शन का नकारात्मक प्रभाव
- 7. subprocess.Popen(), stderr और stdout का उपयोग करते समय कोई आउटपुट
- 8. क्या कोई स्कैलाकंसोल है? GroovyConsole का उपयोग करते समय
- 9. PHP मेल फ़ंक्शन का उपयोग करते समय कोई सीमा है?
- 10. मॉड्यूलो का उपयोग करते समय C++ आउटपुट नकारात्मक संख्या क्यों करता है?
- 11. डेटाकॉन्टेक्स्ट का पुन: उपयोग करने का नकारात्मक प्रदर्शन प्रभाव क्यों होगा?
- 12. NSAttributedString kCTParagraphStyleSpecifierParagraphSpacing का कोई प्रभाव नहीं है
- 13. सिंटेक्स त्रुटि का उपयोग करते समय HTML.html का उपयोग करते समय HTML तत्व को स्क्रिप्ट तत्व
- 14. क्या jQuery में बांधने के बजाय लाइव का उपयोग करने में कोई प्रदर्शन प्रभाव पड़ता है?
- 15. System.nanoTime() का उपयोग करके मुझे नकारात्मक समय बीतने का समय क्यों मिलता है?
- 16. सिग्नलर का उपयोग करते समय, आईआईएस
- 17. सिस्टम स्कोप का उपयोग करते समय NoClassDefFoundError
- 18. web.config ट्रांसफॉर्म का उपयोग करते समय ReplacableToken_?
- 19. alassests का उपयोग करते समय त्रुटि
- 20. UpdatePanel.Visible = true का कोई प्रभाव नहीं है
- 21. rspec नकारात्मक समय दिखाता है
- 22. प्रयास एक प्रमुख का उपयोग करने की कोई प्रभाव नहीं
- 23. glixoint आकार का उपयोग कर पिक्सेल चौड़ाई - कोई प्रभाव
- 24. स्क्रॉल करते समय "स्नैप-टू" प्रभाव करना संभव है?
- 25. जीडब्ल्यूटी एम्यूलेटेड स्टैक ट्रेस का उपयोग करने के नकारात्मक प्रदर्शन प्रभाव
- 26. XQuery अलग-मूल्यों का उपयोग करते समय()
- 27. "प्रिंट" का उपयोग करते समय अमान्य वाक्यविन्यास?
- 28. सूची का उपयोग करते समय अजीब अपवाद
- 29. java.io.FileNotFoundException RandomAccessFile का उपयोग करते समय फ़ाइल
- 30. विम का उपयोग करते समय कोई जल्दी रूबी और रेल दस्तावेज़ों का उपयोग कैसे करता है?
अच्छा जवाब, लेकिन मुझे यह इंगित करना चाहिए कि * .htaccess फ़ाइलों को सक्षम करना मुद्दा है, इनका उपयोग इतना नहीं है। यदि आप उन्हें पूरी तरह अक्षम नहीं करते हैं, तो आपके पास अभी भी प्रत्येक पथ सेगमेंट के लिए स्टेट-हिट है, भले ही आपके पास कहीं भी एक .htaccess फ़ाइल न हो। –
'AllowOverride none' का उपयोग करके .htaccess अक्षम करें। – NateS