मेरी निम्न स्थिति है:
सप्ताह में लगभग 5 बार (कैश स्पष्ट, ट्रैफ़िक स्पाइक जैसी किसी भी विशिष्ट स्थिति से संबंधित नहीं) कुछ प्रश्न डेटा भेजने पर अटक जाते हैं ( show processlist
):
> SELECT `main_table`.`entity_id`, `main_table`.`level`, `main_table`.`path`, `main_table`.`position`,
> `main_table`.`is_active`, `main_table`.`is_anchor`,
> `main_table`.`name`, `url_rewrite`.`request_path` FROM
> `catalog_category_flat_store_30` AS `main_table`
> LEFT JOIN `core_url_rewrite` AS `url_rewrite` ON url_rewrite.category_id=main_table.entity_id AND
> url_rewrite.is_system=1 AND url_rewrite.product_id IS NULL AND
> url_rewrite.store_id='30' AND url_rewrite.id_path LIKE 'category/%'
> WHERE (path LIKE '1/2/%') AND (main_table.store_id = '30') AND
> (is_active = '1') AND (include_in_menu = '1') ORDER BY name ASC
दूसरा:
> SELECT `main_table`.`entity_id`, main_table.`name`, main_table.`path`,
> `main_table`.`is_active`, `main_table`.`is_anchor`,
> `main_table`.`manually`, `url_rewrite`.`request_path` FROM
> `catalog_category_flat_store_10` AS `main_table` LEFT JOIN
> `core_url_rewrite` AS `url_rewrite` ON
> url_rewrite.category_id=main_table.entity_id AND
> url_rewrite.is_system=1 AND url_rewrite.product_id IS NULL AND
> url_rewrite.store_id='10' AND url_rewrite.id_path LIKE 'category/%'
> WHERE (main_table.is_active = '1') AND (main_table.include_in_menu =
> '1') AND (main_table.path like '1/2/1528/1569/%') AND (`level` <= 4)
> ORDER BY `main_table`.`position` ASC
ये प्रश्न नेविगेशन मेनू को जनरेट करने से संबंधित हैं। वे बिना किसी मुद्दे के चलते हैं और हर समय बहुत तेज दौड़ते हैं।
महीने में कुछ बार कुछ अन्य क्वेरीज़ सेडिंग डेटा या टेबल लॉक के इंतज़ार में अटक जाती हैं:
INSERT INTO `catalogsearch_result` SELECT 316598 AS `query_id`, `s`.`product_id`, MATCH (s.data_index) AGAINST ('STRING HERE' IN BOOLEAN MODE) AS `relevance` FROM `catalogsearch_fulltext` AS `s`
INNER JOIN `catalog_product_entity` AS `e` ON e.entity_id = s.product_id WHERE (s.store_id = 38) AND (MATCH (s.data_index) AGAINST ('STRING HERE' IN BOOLEAN MODE)) ON DUPLICATE KEY UPDATE `relevance` = VALUES(`relevance`)
(संबंधित खोज)
अतिरिक्त जानकारी:
- core_url_rewrite - 3M रिकॉर्ड (30 वेबसाइट, 100k उत्पाद)
- कैटलॉग_श्रेणी_फ्लैट_स्टोर_ * - 2000 रिकॉर्ड (फ्लैट श्रेणियों का उपयोग सक्षम है)
यह कुछ विशाल हार्डवेयर पर vmware का उपयोग करके एक सेटअप पर चल रहा है (mysql मास्टर को 8 कोर आवंटित किए गए हैं और 64 जीबी की रैम, SSD सैन स्टोरेज पर डिस्क), mysql को ऑप्टिमाइज़ किया गया था और लगातार निगरानी की जाती है। I / O से संबंधित अतीत में कुछ समस्याएँ थीं (कुछ सर्वर और सैन स्टोरेज के बीच लिंक के साथ कुछ शब्द हैं)।
हम इस मुद्दे को इंगित नहीं कर सकते क्योंकि नंगे धातु (कोई वर्चुअलाइजेशन, समान कॉन्फिगरेशन) पर चल रहा है, यह कभी भी उच्च तनाव की स्थिति में नहीं चलता है (घेराबंदी + लोड परीक्षण परिदृश्य, कोई कैश नहीं चल रहा है)।
किसी और के समान मुद्दे होने?
अपडेट करें:
reindexAll खोज को एक अस्थायी तालिका में ले जाया गया था (इसलिए यह उत्पादन द्वारा उपयोग की जाने वाली मुख्य तालिका को लॉक नहीं करता है, फिर टेबल्स तालिका का नाम बदल देता है)। इसलिए, रिइंडेक्स प्रक्रिया वेबसाइट पर खोज करने वाले आगंतुकों के साथ हस्तक्षेप नहीं करती है। https://github.com/magendooro/magento-fulltext-reindex kudos to carco