हाँ - लारवेल वास्तव में धीमा है। मैंने इस खातिर एक POC ऐप बनाया। सरल राउटर, एक लॉगिन फॉर्म के साथ। मैं केवल $ 20 डिजिटल महासागर सर्वर (कुछ जीबी रैम) पर 10 समवर्ती कनेक्शन के साथ 60 आरपीएस प्राप्त कर सकता था ;
सेट अप:
2gb RAM
Php7.0
apache2.4
mysql 5.7
memcached server (for laravel session)
मैं ऑप्टिमाइज़ेशन, कम्पोज़र डंप ऑटोलैड आदि चला गया, और यह वास्तव में आरपीएस को 43-ईश तक कम कर दिया ।
समस्या यह है कि ऐप 200-400ms में प्रतिक्रिया करता है। मैंने स्थानीय मशीन से एबी परीक्षण चलाया, लार्वा चालू था (यानी, वेब ट्रैफ़िक के माध्यम से नहीं); और मुझे केवल 112 आरपीएस मिला; 300ms की औसत के साथ 200ms तेजी से प्रतिक्रिया समय।
तुलनात्मक रूप से, मैंने AWS t2.medium (x3, लोड संतुलित) पर एक दिन में कुछ मिलियन अनुरोधों को चलाने वाले अपने उत्पादन PHP मूल एप्लिकेशन का परीक्षण किया। जब मैं अपने स्थानीय मशीन से 25 से अधिक समवर्ती कनेक्शनों को वेब पर ELB के माध्यम से भेजूँगा, तो मुझे लगभग 1200 RPS मिले। लोड बनाम लार्वा "लॉगिन" पृष्ठ के साथ एक मशीन पर भारी अंतर।
ये सेशंस (प्रत्यास्थ / मेमकाटेड), लाइव डीबी लुकअप (मेमेकैक्ड के माध्यम से कैश्ड क्वेश्चन), एसेट्स ऑन सीडीएन, वगैरह, वगैरह, साथ पेज हैं।
मैं क्या बता सकता हूं, लार्वा लगभग 200-300 सेंटीमीटर भार से चिपक जाता है। PHP उत्पन्न विचारों के लिए इसका जुर्माना, आखिरकार, उस प्रकार का विलंब लोड पर सहनीय है। हालांकि, छोटे अपडेट को संभालने के लिए अजाक्स / जेएस का उपयोग करने वाले PHP के विचारों के लिए, यह सुस्त लगने लगता है।
मैं कल्पना नहीं कर सकता कि यह प्रणाली एक बहु किरायेदार ऐप के साथ कैसी दिखती है जबकि 200 बॉट्स एक ही समय में 100 पृष्ठों को क्रॉल करते हैं।
सरल एप्स के लिए लारवेल बढ़िया है। लुमेन सहनीय है यदि आपको कुछ भी ऐसा करने की आवश्यकता नहीं है, जिसमें मिडलवेयर बकवास (IE, कोई मल्टी टेनेंट ऐप और कस्टम डोमेन आदि) की आवश्यकता नहीं होगी;
हालांकि, मुझे कभी भी किसी ऐसी चीज से शुरुआत करना पसंद नहीं है जो "हेल्लो वर्ल्ड" पोस्ट के लिए 300ms लोड और बांध सकती है।
यदि आप सोच रहे हैं "कौन परवाह करता है?"
.. कुछ सौ हज़ार परिणामों में स्वतः पूर्ण सुझावों का जवाब देने के लिए त्वरित प्रश्नों पर निर्भर रहने वाली एक पूर्वानुमानात्मक खोज लिखें। यह 200-300ms अंतराल आपके उपयोगकर्ताओं को पूरी तरह से पागल कर देगा।
php artisan optimize --force