Magento पेज लोड हो रहा है बहुत अधिक समय


10

मेरे पास Magento की वेबसाइट है। कोई भी उपयोगकर्ता नहीं है (अधिकतम 2-3 समय पर)।

हमारा सर्वर है: CPU: 2000MHz RAM: 2048Mb HDD: 50000Mb।

मैंने ZendServerCE (apc + memcached + Zend Optimizer + Zend Data Cache) स्थापित किया। मैं ज्ञापन बंद कर दिया, क्योंकि वेबसाइट बहुत बुरी तरह से भरी हुई है। मैंने व्यवस्थापक कंसोल में फ्लैट प्रकार की संरचना, reindexed और कैश्ड डेटा सेट किया है।

तो मेरे पास apc + Zend Optimizer + Zend Data Cache है

  1. पहली समस्या यह है कि मैं रनटाइम की जांच करता हूं कि कैसे प्रेषण काम करता है। start_session () कॉलिंग में लगभग 500-700ms लगते हैं। इसका अच्छा परिणाम नहीं लगता है। इतना लंबा क्यों, मुझे नहीं पता।

  2. मैंने इसे पढ़ा है: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_key_buffer_size और अपने सर्वर के लिए इष्टतम विकल्पों का पता लगाया।

प्रति घंटा:

Key_read_requests = 8887
Key_reads         = 252
Key_write_request = 187
Key_writes        = 146 

आप देखते हैं कि 252/8887> 0.01, लेकिन बहुत अधिक नहीं। यह इष्टतम मूल्य है जो मुझे कभी मिला है। अन्य परिणाम> 6 से शुरू हुए।

यहाँ my.cnf है:

key_buffer              = 48M
myisam_sort_buffer      = 2M
sort_buffer             = 2M
read_buffer_size        = 2M
join_buffer             = 2M
read_rnd_buffer         = 2M
max_allowed_packet      = 128M
thread_stack            = 192K
thread_cache_size       = 16
query_cache_type        = 1
myisam-recover         = BACKUP
max_connections        = 50
table_cache            = 256
#thread_concurrency     = 10
query_cache_limit       = 8M
query_cache_size        = 98M

3. किसी कारण के लिए ज्ञापन अच्छा नहीं था। मैंने बंद कर दिया। लेकिन zend डेटा कैश और zend ऑप्टिमाइज़र अभी भी काम करते हैं।

४। एपीसी सही लगता है। कंट्रोलर एक्शन को लोड करने के लिए पहली बार 3-4 सेकंड का समय लगता है (मैं इसे सेट करने के लिए वहाँ मर जाता हूं)

५। कई मिनटों के बाद मैंने mysql पुनः आरंभ किया मुझे अच्छा परिणाम मिला। पेज 1.5 से 2.5 सेकंड तक लोड हो रहे थे। लेकिन अब (कई घंटों के बाद) इसमें 6-10 सेकंड का समय लगता है। मुझे इसका कारण नहीं मिल रहा है।

तो क्या आपको यहाँ कुछ गलत विन्यास दिखाई देता है? हो सकता है कि मेरा सर्वर मैगनेटो के लिए उपयुक्त न हो?

अद्यतन 1: लगभग 600 श्रेणियां और 1000 उत्पाद आज और लगभग 20000 श्रेणियां (विभिन्न वेबस्टोर्स के लिए) और भविष्य में 1500-3000 उत्पाद।

बहुत सारी विशेषताएँ नहीं हैं।

अद्यतन 2 मैंने कहा है कि ssh कंसोल बहुत धीमी गति से काम करता है। मैंने सर्वर को रिबूट किया और अब यह तेजी से काम करता है। इसका मतलब है कि मुझे रैम की समस्या है। पर्याप्त जगह नहीं हैं।

यह प्रारंभिक स्थिति है जो अपाचे है:

             total       used       free     shared    buffers     cached
Mem:          2048        600       1447

अद्यतन 3 मुझे मिल गया। अब इसे 0.5-1.5 सेकंड के लिए लोड किया जाता है

यहाँ विन्यास है: mysql

[mysqld]
key_buffer_size         = 256M
tmp_table_size      = 32M
max_heap_table_size     = 32M
myisam_sort_buffer      = 4M
sort_buffer             = 4M
read_buffer_size        = 4M
join_buffer     = 4M
read_rnd_buffer     = 4M
max_allowed_packet  = 64M
thread_stack        = 192K
thread_cache_size       = 16
query_cache_type        = 1
myisam-recover          = BACKUP
max_connections         = 20
table_cache             = 1024
innodb_buffer_pool_size = 128M
query_cache_limit   = 24M
query_cache_size        = 256M

php

[apc]
apc.stat=1
apc.enabled=1
apc.optimization=0
apc.cache_by_default=1
apc.shm_segments=10
apc.shm_size=256M
apc.ttl=0
apc.user_ttl=0
apc.num_files_hint=10000
;apc.mmap_file_mask="/tmp/apc"
apc.max_file_size=5M
apc.enable_cli=1
apc.mmap_file_mask="/tmp/apc.XXXXXX"
apc.slam_defense=0
apc.user_entries_hint=10000

सभी सही काम करता है, लेकिन एक सवाल बना हुआ है। APC मुझे यह सांख्यिकीय दिखाता है: यहाँ छवि विवरण दर्ज करें

इतना छोटा क्यों मारा? कोई विचार?


यह अच्छा होगा यदि आप अपने मैग्नेटो इंस्टॉलेशन (जैसे कैटलॉग आकार, संशोधन, एक्सटेंशन आदि) के बारे में कुछ पंक्तियाँ छोड़ दें।
user487772

कोई तरीका नहीं है कि कोई आपके लिए कॉन्फ़िगरेशन फ़ाइलों की एक श्रृंखला पोस्ट कर सके जो आपके सर्वर को ठीक से सेट करने में सक्षम हो। दर्जनों फाइलें हैं; सॉफ़्टवेयर और सिस्टम स्तर के परिवर्तनों के विशिष्ट संशोधन जो आपके उपलब्ध हार्डवेयर को सर्वश्रेष्ठ बनाने के लिए किए जाने की आवश्यकता है।
बेन लेसानी - सोनासी

कृपया निराश क्यों करें कि आप नीचा दिखाते हैं
एंथनी

@ समय पर मैंने सवाल पूछा
एंथनी

2
मैं xhprofलोड करने में सबसे अधिक समय ले रहा हूं, इसका एक दृश्य प्राप्त करने की कोशिश करता हूं । क्या यह उत्पादन सर्वर लोड के तहत या केवल परीक्षण के लिए है?
philwinkle

जवाबों:


6

जैसा कि लगता है कि प्रश्न बहुत मैगेंटो केंद्रित नहीं है, यहाँ मेरा बहुत मैगेंटो केंद्रित उत्तर नहीं है।

OpCode कैशिंग और DB ऑप्टिमाइज़ेशन आपके वेब एप्लिकेशन को कुछ हद तक तेज करने का एक अच्छा तरीका है। लेकिन लाभ अपेक्षाकृत मध्यम होगा। वास्तविक गति बढ़ाने के लिए आपको वार्निश कैश का उपयोग करने पर विचार करना चाहिए। यह खुला स्रोत है, कॉन्फ़िगर करने में आसान है और आसानी से मैग्नेटो के लिए स्वतंत्र रूप से उपलब्ध मॉड्यूल के लिए धन्यवाद के साथ एकीकृत करने के लिए आसान है।

यह कैसे काम करता है के एक संक्षिप्त अवलोकन के साथ एक अच्छा लेख भी है: http://www.fabrizio-branca.de/make-your-magento-store-fly-use-varnish.html

विशेष रूप से चार्ट पर विचार करें:

पृष्ठों / दूसरा


4
वार्निश महान है यदि आप पहले से ही एक फास्ट स्टोर पा चुके हैं और संसाधनों की भरपाई करना चाहते हैं। लेकिन यह इस तथ्य को छिपाने के लिए कभी भी उपयोग नहीं किया जाना चाहिए कि एक दुकान धीमी है। पृष्ठों को अभी भी पहली जगह में उत्पन्न किया जाना है - इसलिए वे हमेशा परवाह किए बिना 6-10 पेज लोड समय होंगे।
बेन लेसानी - सोनासी

ऐसा लगता है कि यह मेरे द्वारा पहले इस्तेमाल किए गए ज्ञापन की तरह होगा। मुझे लगता है कि मैं mysql गुणों में गलत गलत करता हूं या सर्वर बहुत कमजोर है
एंथनी

2

यदि आपका व्यवसाय आपके होस्टिंग पर अच्छा प्रदर्शन करने पर निर्भर है, तो आप सर्वर को बिना किसी अनुभव के प्रशासित करने की कोशिश क्यों कर रहे हैं।

आप निश्चित रूप से सिर्फ एक विशेषज्ञ मैजेंटो मेजबान से संपर्क करके और उन्हें सिस्टम प्रशासन का ध्यान रखने से लाभान्वित करेंगे, जबकि आप अपने स्टोर का प्रबंधन करने के दौरान क्या करते हैं।

अपने चश्मे को देखते हुए, आपके पास पर्याप्त रैम नहीं है जो मैगेंटो स्टोर चलाने की कोशिश कर रहा है। आप जैसे समान प्रश्नों का भार है,

https://serverfault.com/a/400748/113375
/server/430565/magento-hosting-on-a-budget


क्योंकि हमारे ग्राहक का बजट सीमित है। मुझे मैग्नेटो होस्ट के लिए 50 यूरो प्रति मौन से अधिक का भुगतान करना चाहिए। हमारे पास प्रति वर्ष 150-200 यूरो की मेजबानी के लिए सीमा
एंथनी

1
तब ग्राहक 100% अनुकूलन के साथ ~ $ 20-40,000 / yr राजस्व बनाने की उम्मीद कर सकता है (होस्टिंग 0.5-1% राजस्व है)। यहां बहुत सारे लोग हैं जो आपको सभी विवरण और तकनीकी सेटिंग्स दे सकते हैं, लेकिन आप बहुत कम के साथ बहुत कुछ करने की कोशिश कर रहे हैं। आप इसे तकनीकी पक्ष पर काम करने के लिए प्राप्त कर सकते हैं, लेकिन व्यावसायिक पक्ष पर यह गिर जाएगा। जब तक आपके डायनेमिक पेज लोड नहीं होते (बिना fpc के) 3s के अंतर्गत आप 56% विज़िटर खो देते हैं, आदर्श रूप से 1-2s को लक्षित करते हैं - Google और विज़िटर रूपांतरण साइट को अन्यथा दंडित करेंगे - कठिन कॉल। स्थिति को देखते हुए 95-99% संभावना> 3s पृष्ठ लोड और / या साइट के अंतर्गत आता है।

1

क्या यह भौतिक हार्डवेयर या वर्चुअल प्राइवेट सर्वर है? आपको संभवतः अपने डेटाबेस को अपने स्वयं के समर्पित सर्वर पर ले जाना चाहिए। यह आपको यह अलग करने में सक्षम होने का लाभ भी देता है कि क्या आपकी गति अपाचे / पीएचपी के साथ या MySQL के साथ झूठ है।

start_session () धीमा होने का मतलब है कि आप शायद कमज़ोर हार्डवेयर से पीड़ित हैं। मुझे नहीं पता कि आपकी तकनीक के विकल्प का अर्थ है कि सत्र डिस्क पर या रैम में संग्रहीत हैं, लेकिन 500-700ms लगभग निश्चित रूप से इसका मतलब है कि वे डिस्क पर संग्रहीत किए जा रहे हैं और आपको I / O प्रदर्शन समस्याएँ हो रही हैं - शायद इसलिए कि आपका डेटाबेस है डिस्क को स्वैप करना क्योंकि यह रैम में फिट नहीं होगा ... लेकिन यह सभी अटकलें हैं।

सौभाग्य!


आपके उत्तर के लिए धन्यवाद! मैं VPS का उपयोग करता हूं। यह मैगेंटो के लिए ज्यादा उपयुक्त नहीं है लेकिन मेरे पास इस दायरे में इसे अनुकूलित करने का एक काम है। क्या यह जांचना संभव है कि डेटाबेस डिस्क पर स्वैप हो?
एंथनी

1
free -mआपको बताएंगे कि क्या आप स्वैप का उपयोग कर रहे हैं, और topकमांड के नवीनतम संस्करण आपको बताएंगे कि क्या स्वैप और उपयोग द्वारा ऑर्डर करने के लिए O और P दबाएं। अन्यथा आपको कुछ इस तरह से mysqld की प्रक्रिया आईडी का उपयोग करने के लिए वापस आना होगा: awk '/^Swap:/ { SWAP+=$2 } END { print SWAP" kB" }' /proc/$(pidof mysqld)/smaps सभी यहां वर्णित है: dbasquare.com/2012/04/10/…
राल्फ टाइस

1

स्पष्ट रूप से आपको 'वर्किंग कॉन्फिग' दिखाने का कोई तरीका नहीं है जो आपके प्रदर्शन को बढ़ाएगा, लेकिन मैगेंटो वास्तव में ऐसा कुछ करने का प्रयास करता है और अपने प्रदर्शन व्हाइटपैप में एक अत्यधिक कॉन्फ़िगर किए गए LAMP स्टैक का उदाहरण पोस्ट करता है। इन श्वेतपत्रों की कार्यप्रणाली सीई और ईई पर लागू होती है। मैं अत्यधिक सलाह देता हूं कि वे दोनों व्हाइटपेपर के माध्यम से पूरी तरह से पढ़ लें क्योंकि सुझाव दिया गया था कि इस धागे की बहुत गूंज है और बहुत विशिष्ट मैगेंटो सिफारिशें प्रदान की हैं, सीधे स्रोत से: http://www.magentocommerce.com/whitepaper/


1

विन्यास

ZendFramework (zend optimizer और zend data cache) + APC + Memcache + Nginx

मेरे लिए एकदम सही काम करता है।

30 से अधिक समसामयिक उपयोगकर्ता एक सेकंड (~ 0.4s-0.6s) से कम पृष्ठ लोड कर सकते हैं

मैंने (० पोर्ट पर नगीनेक्स (एक प्रॉक्सी के रूप में) और अपाचे को at० at० पर सेट किया।

लिंक के लिए @MattSchweers को धन्यवाद। मैं इसके विषय मे भूल गया। यह मुझे MySQL को कॉन्फ़िगर करने में मदद करता है


कोई दिक्कत नहीं है! मैंने वास्तव में इस सप्ताह खुद को कुछ MySQL ट्विकिंग के लिए उन व्हाइटपैपर्स का इस्तेमाल किया - अच्छी तरह से काम किया।

1

मेरे अनुभव में litespeed सर्वर $ 32 / माह 1cpu लाइसेंस के लायक 2 x प्रदर्शन को बढ़ा देता है। मुझे बताया गया था कि lppeed में php रन के बाद से आपको केवल 1cpu लाइसेंस की आवश्यकता है।


वेब सर्वर अड़चन नहीं है। PHP है, Litespeed में बदलने से कुछ भी नहीं बदलेगा।
बेन लेसानी - सोनासी

जबकि मैं आम तौर पर सहमत हूँ कि Litespeed Magento के लिए एक बढ़िया विकल्प है, यह उत्तर शायद ओपी द्वारा पेश की गई समस्या को ठीक नहीं करेगा और यह उसके बताए गए बजट से बाहर है।
प्रेस्टन

0

जब आपके पास कई वेबस्टोर्स और कई श्रेणियां होती हैं, तो Magento अनिवार्य रूप से सभी वेबस्टोर, श्रेणियों और उत्पादों के लिए प्रविष्टियों का एक देखभाल करने वाला उत्पाद बना रहा है, जो डेटाबेस पर एक महत्वपूर्ण भार डालने जा रहा है। आपकी APC छूट बहुत अधिक है, और आपको उस पर गौर करना होगा। हालाँकि, यदि आप APC को ठीक करते हैं, तो मुझे लगता है कि आपकी प्रदर्शन समस्या विशेष रूप से तब बनी रहेगी जब आपका ट्रैफ़िक बढ़ता है। आपकी साइट की गति बढ़ाने के लिए आपको एक op कैश स्थापित करना होगा, या तो वार्निश या पूर्ण पृष्ठ कैश (यदि एंटरप्राइज़ संस्करण)।

Magento DB को बहुत कुछ पढ़ता है इसलिए आप अपने MySQl को एक मास्टर स्लेव प्रतिकृति मोड में रखने की कोशिश कर सकते हैं, दास के पास सभी Magento पढ़ते हैं, जबकि लेखन मास्टर के साथ होता है।


0

मैं निम्नलिखित एपीसी विकल्पों को बदलने की कोशिश करूंगा और देखूंगा कि क्या हिट्स उठाते हैं।

apc.shm_seolution 1

एपीटीटीटी 7200

apc.user_ttl 7200

एक लाइव साइट पर आप निम्नलिखित का उपयोग कर सकते हैं।

अपस्टैट 0

यह एपीसी की जाँच को रोक देगा यदि फ़ाइल पिछली बार संकलित होने के बाद बदल गई है, तो आपको एक अच्छी गति को बढ़ावा देगा। जब आप PHP फ़ाइलों को संपादित करते हैं तो अपने APC कैश को फ्लश करना न भूलें।


0

युगल अन्य विचार। आप अपने innodb_buffer_pool_size को बढ़ाना चाह सकते हैं, 128M थोड़ा कम हो सकता है और यहां तक ​​कि छोटी साइटें भी बहुत जल्दी विकसित हो सकती हैं। चर यह निर्धारित करता है कि आपके डेटा का कितना मेमोरी में रखा गया है।

Magento इसका उपयोग उन सभी तालिकाओं के लिए करता है जिनमें लॉग टेबल भी शामिल है जो हर तेज़ी से बढ़ती है। आप यह सुनिश्चित करना चाहेंगे कि आप इस डेटा की मात्रा सीमित रखें। कमांड लाइन से "php खोल / log.php --status" चलाने से आपको यह पता चल जाएगा कि आप कहां हैं और यदि यह हाथ से निकल रहा है। इसके साथ लॉग टेबल की सफाई के लिए भी विकल्प हैं।

2GB RAM काम करने के लिए ज्यादा नहीं है इसलिए आपको इस बात से सावधान रहने की जरूरत है कि आप अपनी मेमोरी को कहां आवंटित करते हैं।

इसके अलावा एक पूर्ण पृष्ठ कैश + कैश वार्मर आपकी साइट की कैटलॉग और सेमी पेजों को प्राइम और फास्ट रखने में मदद कर सकता है। आप हमारे यहाँ देख सकते हैं: http://ecommerce.brimllc.com/full-page-cache-magento.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.