ניתוח יומן שאילתות איטיות של MySQL עבור 1C-Bitrix: האיץ את האתר שלך

אתה משיק אתר על 1C-Bitrix, אבל עמודים נטענים תוך 5–10 שניות. לקוחות עוזבים, מנהלים מתלוננים. בדקת אחסון וקאשינג, אבל הסיבה עדיין לא ברורה. יומן השאילתות האיטיות — יומן MySQL של שאילתות איטיות — חושף את האשמים האמיתיים. בלעדיו, אתה מנחש, וכל שנייה של עיכוב עולה
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
ניתוח יומן שאילתות איטיות של MySQL עבור 1C-Bitrix: האיץ את האתר שלך
פשוט
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    פיתוח אתר לחברת FIXPER
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    880
  • image_crm_dolbimby_434_0.webp
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1163

אתם משיקים אתר על 1C-Bitrix, אבל עמודים נטענים תוך 5–10 שניות. לקוחות עוזבים, מנהלים מתלוננים. בדקתם אחסון וקישוריות, אבל הסיבה עדיין לא ברורה. יומן השאילתות האיטיות — יומן MySQL של שאילתות איטיות — חושף את האשמים האמיתיים. בלעדיו, אתם מנחשים, וכל שנייה של עיכוב עולה כסף: ההמרות יורדות, תקציב הפרסום נשרף. אנחנו עוזרים לנתח את היומן, למצוא את השאילתות הכבדות ביותר, ולייעל אותן. תוך 2–3 ימים, תקבלו דוח ופתרונות מוכנים, והחיסכון במהירות ישתלם על ההשקעה תוך שבוע.

במאמר זה, נסקור כיצד להפעיל את היומן האיטי, אילו כלים להשתמש לניתוח (mysqldumpslow, pt-query-digest), ואילו שאילתות טיפוסיות מאטות את Bitrix. הכי חשוב, נראה מקרה אמיתי שבו יצירת אינדקס פשוטה הורידה את זמן השאילתה מ-3 שניות ל-10 מילישניות. אם אתם רוצים לפתור את הבעיה במהירות, צרו קשר: נבצע ביקורת תוך יום אחד.

למה שאילתות איטיות הן הבעיה העיקרית של Bitrix

הסיבה העיקרית היא שאילתות מסד נתונים לא אופטימליות. Bitrix משתמש רבות בלוקי מידע, מאפיינים והצעות מסחר. עם מספר גדול של אלמנטים ללא אינדקסים מתאימים, כל שאילתה הופכת לסריקת טבלה מלאה. יומן השאילתות האיטיות תופס שאילתות כאלה. הנה שלוש קבוצות בעיות טיפוסיות:

  • שאילתות ל-b_iblock_element ללא אינדקס על IBLOCK_ID ו-SORT.
  • LIKE עם תו כללי מוביל במהלך סינון.
  • COUNT(*) על b_sale_order עם מיליוני רשומות. הניסיון שלנו: ב-80% מהמקרים, הוספת 2–3 אינדקסים מורכבים מבטלת 90% מהשאילתות האיטיות. זה חוסך תקציב לשדרוגי שרת יקרים.

איך להפעיל ולהגדיר את יומן השאילתות האיטיות

ב-my.cnf (או my.ini ב-Windows):

[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 0.5 log_queries_not_using_indexes = 1 min_examined_row_limit = 100 

[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 0.5 log_queries_not_using_indexes = 1 min_examined_row_limit = 100 — שאילתות ארוכות מ-500 אלפיות השנייה. לאבחון פעיל, הגדירו אותו ל-0.1 או אפילו 0. long_query_time = 0.5 — תופס שאילתות ללא אינדקסים ללא קשר לזמן. log_queries_not_using_indexes = 1 — אל תרשום שאילתות מהירות על טבלאות קטנות.

ניתן להפעיל זאת דינמית ללא הפעלה מחדש של MySQL:

SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 0.5; SET GLOBAL log_queries_not_using_indexes = 1; 

תוכלו לקרוא עוד על היומן האיטי בויקיפדיה.

איך למצוא שאילתות איטיות

קריאת היומן הגולמי אינה נוחה. השתמשו בכלי צבירה: mysqldumpslow — מובנה ב-MySQL:

mysqldumpslow -s t -t 10 /var/log/mysql/slow.log 

min_examined_row_limit = 100 — מיון לפי זמן כולל, SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 0.5; SET GLOBAL log_queries_not_using_indexes = 1; — 10 השאילתות המובילות. מציג תבנית שאילתה וזמן כולל/ממוצע.

pt-query-digest (Percona Toolkit) — משמעותית יותר אינפורמטיבי: מציג אחוזוני זמן ביצוע, מספר שאילתות ייחודיות, עומס שרת.

כלי מהירות אינפורמטיביות תכונות נוספות
mysqldumpslow מהיר בסיסי אין
pt-query-digest איטי יותר מפורט (אחוזונים, פרופילים) סינון גמיש, דוחות

pt-query-digest מציג לא רק זמן ממוצע אלא גם התפלגות — מפורט פי 3 מ-mysqldumpslow.

שאילתות איטיות טיפוסיות ב-Bitrix

בעיה דוגמת SQL פתרון
סריקת קטלוג מלאה mysqldumpslow -s t -t 10 /var/log/mysql/slow.log אינדקס מורכב (IBLOCK_ID, SORT)
LIKE ללא אינדקס -s t אינדקס FULLTEXT או MATCH AGAINST
COUNT(*) על הזמנות -t 10 אינדקס על STATUS או חלוקה

הוספת אינדקס במקרה הראשון מפחיתה את זמן הביצוע מ-3 שניות ל-0.01 שניות — מהיר פי 300.

מקרה בוחן: איך האצנו קטלוג פי 20

לקוח — חנות מקוונת עם 50,000 מוצרים. עמודי קטלוג נטענו תוך 6–8 שניות. יומן השאילתות האיטיות חשף שאילתה ל-SELECT * FROM b_iblock_element WHERE IBLOCK_ID=5 ORDER BY SORT עם SELECT * FROM b_iblock_element_property WHERE VALUE LIKE '%поиск%'. יצרנו אינדקס FULLTEXT ושכתבנו את השאילתה לשימוש ב-SELECT COUNT(*) FROM b_sale_order WHERE STATUS='N'. זמן הביצוע ירד מ-2.3 שניות ל-0.12 שניות. זמן טעינת העמוד הכולל ירד ל-1.2 שניות. MySQL FULLTEXT

רוצים את אותו הדבר? קבלו ייעוץ — נעריך את המקרה שלכם תוך שעה.

מה כלול בעבודה

  • ניתוח יומן השאילתות האיטיות למשך 7 ימים (או תקופה מוגדרת).
  • זיהוי 10 השאילתות האיטיות המובילות.
  • EXPLAIN והמלצות לאינדקסים.
  • יישום אופטימיזציות (יצירת/שינוי אינדקסים, שכתוב שאילתות).
  • דוח עם מדדים לפני/אחרי.

תהליך העבודה

  1. הפעלת יומן איטי על השרת שלכם (מרחוק).
  2. איסוף יומן על פני תקופה מייצגת (בדרך כלל 1–2 ימים).
  3. ניתוח באמצעות pt-query-digest.
  4. מסירת דוח עם סדרי עדיפויות.
  5. הסכמה ויישום שינויים.
  6. מדידה חוזרת לאישור השיפור.

לוח זמנים: 1 עד 5 ימים תלוי במורכבות.

למה לסמוך עלינו?

  • 7+ שנות ניסיון עם Bitrix.
  • 300+ פרויקטים מוצלחים.
  • מומחי 1C-Bitrix מוסמכים.
  • עבודה על פי חוזה עם אחריות לתוצאות.

מוכנים לתקן את ההאטה? צרו קשר — נעריך את הפרויקט שלכם בחינם ונציע פתרון תוך יום אחד.