2015-02-10 13 views
30

संगीतकार इतनी धीमी क्यों है जब मैं जो करता हूं वह शून्य निर्भरताओं वाले एक परियोजना में शामिल होता है? यहाँ आदेशों मैं चलाने के हैं:PHP संगीतकार इतनी धीमी क्यों है?

composer init

composer install

प्रतीक्षा 3 मिनट (नहीं एक अतिशयोक्ति)।

सभी संगीतकार को एक ऑटोलोडर में खींचना है और /vendor बनाना है, तो यह इतना लंबा क्यों लगता है? उस मामले के लिए, यह कदम composer init पर क्यों नहीं होता है?

क्या कोई कॉन्फ़िगरेशन विकल्प है जिसका उपयोग मैं कैश किए गए ऑटोलोडर और विक्रेता को init पर खींचने के लिए कर सकता हूं?

+0

अधिक गंभीरता से: क्या आपने पिछले 30 दिनों में अपने संगीतकार को अपडेट किया है? पिछले महीने कोड में एक बड़ा प्रदर्शन सुधार था –

+0

मैंने 5 मिनट पहले 'इंस्टॉल कंपोज़' शुरू किया था और यह अभी तक पूरा नहीं हुआ है। 'संगीतकार संस्करण 1.0-देव (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12: 51: 10'।हो सकता है कि यह सबसे हालिया संस्करण नहीं है लेकिन अभी भी आपके आईबीएम मेनफ्रेम से नया है ;-) – axiac

+0

कृपया पुष्टि करें कि आपने 'संगीतकार स्वयं-अपडेट' – sjagr

उत्तर

10

इसके अलावा, xdebug अक्षम करें। Xdebug कंपोज़र को composer --version जितना आसान आदेश चलाते समय भी मिनट ले सकता है।

+0

यह वास्तव में मेरा मुद्दा साबित हुआ। Xdebug संगीतकार रन अल्ट्रा धीमी बनाता है। – AgmLauncher

4

वही यहाँ। "संगीतकार इंस्टॉल --profile -vvv" के साथ अधिक जानकारी प्राप्त करें। मेरे मामले में कुछ जेसन फाइलें डाउनलोड करने में काफी समय लगता है। वे मेरे सर्वर पर कैश हो जाते हैं लेकिन अभी भी प्रत्येक संगीतकार अद्यतन/इंस्टॉल कॉल के साथ डाउनलोड किए जाते हैं।

... 30 मिनट के बाद ...

कुछ प्रदर्शन समस्या @ packagist.org तरह लग रहा है। अब संगीतकार 2 सेकंड के भीतर चलाता है! और डाउनलोड जेसन फाइलें ठीक तरह से कैश की गई हैं।

108

क्योंकि संगीतकार file_get_contents() द्वारा लागू करता है। इसमें कोई टीसीपी अनुकूलन नहीं है, कोई Keep-Alive नहीं, कोई मल्टीप्लेक्सिंग नहीं ...

मैंने समांतर में पैकेज डाउनलोड करने के लिए एक संगीतकार प्लगइन बनाया है।
https://packagist.org/packages/hirak/prestissimo

$ composer global require hirak/prestissimo

यह प्रयास करें। मेरे पर्यावरण में, composer install 10 गुना तेजी से बन गया।

+13

मुझे कोई सुराग नहीं है कि इस जवाब में 1 000 अपवॉट्स क्यों नहीं हैं .. उस प्लगइन के लिए धन्यवाद, यह सचमुच जीवन बचतकर्ता है! – Mjh

+1

@AgmLauncher कृपया इसे स्वीकार किए गए उत्तर के रूप में चिह्नित करें क्योंकि यह स्थापना समय को काफी कम करता है – ooxi

+0

सुधार स्पष्ट है। इस पैकेज के बाद – Alex83690

17
  1. सुनिश्चित करें कि आपके पास संगीतकार का नवीनतम संस्करण है।
  2. उदाहरण composer global require "squizlabs/php_codesniffer=*" -vvv
  3. के लिए, -vvv जोड़कर वर्बोज़ मोड में स्थापित करें आप पता लगाने के लिए जहां संगीतकार, सुस्ती का सामना करना पड़ रहा है के लिए उदाहरण मेरा जब संकुल को डाउनलोड करने के लिए 5 मिनट अटक गया था सक्षम हैं, तो। 50 एमबीपीएस कनेक्शन पर 20 केबी फाइल डाउनलोड करने में 5 मिनट लग गए। ऐसा इसलिए था क्योंकि यह http का उपयोग करके पैकेजिस्ट से संकुल डाउनलोड कर रहा था और https नहीं। composer config --global repo.packagist composer https://packagist.org
+2

मैं संगीतकार के लिए नया हूं और अपनी टिप्पणी पढ़ने और जोड़ने के बाद 2 दिनों के लिए इसे ठीक करने का प्रयास करता हूं, यह आखिर में काम करता है। 1000 अपवॉट –

+0

यह मेरे लिए भी काम करता है – azul

0

यदि उपरोक्त जवाब में से किसी भी काम नहीं करता है, तो देखें कि आपके फ़ायरवॉल पोर्ट 9418. पर TCP_OUT लिए अनुमति देता है मेरे फ़ायरवॉल सुरक्षा भी तेज था: config करने के लिए इन परिवर्तन करना मेरी समस्या का समाधान हो गया है। इसने संगीतकार को इतने लंबे समय तक ले जाने का कारण बना दिया, मुझे कभी भी टाइमआउट या संकेत नहीं मिला कि बंदरगाह अवरुद्ध था। आशा करता हूँ की ये काम करेगा!

संबंधित मुद्दे