0

WPML 3.5 כלל שינוי גדול ב'תרגום המחרוזות'. כשעלינו לאוויר למדנו על מספר מקרים שלא עלו במהלך הפיתוח. העדכונים שלאחר מכן מטפלים בכל הבעיות ומספקים שיפור נוסף בביצועים.

תיקונים מאז WPML 3.5

  • תיקון לאי-תפיסת חריגה במקרים שבהם העמודה domain_name_context_md5 column לא הייתה קיימת בטבלה icl_strings
  • תיקון שגיאה קריטית: חריגה שלא נתפסה 'InvalidArgumentException' עם הודעה 'מזהה ארגומנט חייב להיות מספרי וגדול מ-0' בעת סינון קישורים קבועים
  • תיקון שגיאה קריטית במהלך שדרוג: שגיאת מסד נתונים WordPress: מפתח שצוין ארוך מדי; אורך מפתח מקסימלי הוא 1,000
  • תיקון שגיאה קריטית: הצהרה של WPML_Post_Element::get_type() חייבת להיות תואמת לזו של WPML_Translation_Element::get_type() עבור PHP 5.2
  • הסרת קו נטוי הפוך כדי להימנע מאזהרות PHP לפני 5.3

שיפורי מהירות

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

  • פיצול טבלה אחת גדולה עם כפילויות לשתי טבלאות קטנות ויעילות.
  • מיטוב אינדקסים של הטבלאות
  • הגבלת אפשרות גדילת הטבלה עבור אתרים המשתמשים בארגומנטים של כתובות URL, על-ידי הוספת רשימה לבנה של ארגומנטים שמשנים את בחירת הדף

התוצאות

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

WPML 3.4 - הטעינה של 'תרגום המחרוזות' אורכת זמן רב יותר מכיוון שטוענים מראש מחרוזות רבות
WPML 3.4 – הטעינה של 'תרגום המחרוזות' אורכת זמן רב יותר מכיוון שטוענים מראש מחרוזות רבות

'תרגם המחרוזות' ירד אבל עכשיו יש טבלת string_pages גדולה
'תרגם המחרוזות' ירד אבל עכשיו יש טבלת string_pages גדולה

פיצלנו את הטבלה string_pages לשתיים קטנות יותר, אבל אינדקס נוסף מאט את פעולות ה-select
פיצלנו את הטבלה string_pages לשתיים קטנות יותר, אבל אינדקס נוסף מאט את פעולות ה-select

טבלאות קטנות יותר ואינדקס נכון. עכשיו הכל טוב.
טבלאות קטנות יותר ואינדקס נכון. עכשיו הכל טוב.

המספרים המוחלטים בגרפים האלה פחות משמעותיים מכיוון שהם נדגמו בימים שונים של השבוע. בימי שישי התעבורה הרבה יותר נמוכה מאשר בימי שני. כדי להבין את השינויים, יש להסתכל על היחס בין הסגמנטים. ניתן לראות שבמקור, הגישה אל icl_strings לקחה בערך כמו שליפת פוסטים (דבר שאינו טוב). עכשיו כל הגישה למסד הנתונים של WPML היא בממוצע 1/3 משאילתות הפוסטים. זה משמעותי ביותר מכיוון ש-WPML צריך לטעון מחרוזות רבות, בעוד ש-WordPress זקוק רק לפוסטים מעטים.

תהליך טוב יותר בפעם הבאה

היה עלינו לשחרר עדכון זה לפני שיכולנו להריץ את מלוא בדיקות הביצועים מכיוון שהוא כלל שינויים עבור WordPress 4.6. בעתיד נקפיד שלא להצמיד יחד שיפורי ביצועים עם תאימות WordPress. ברגע שגרסה חדשה של WordPress תגיע ל'מועמד לשחרור', נשחרר מהדורה מינורית הכוללת רק שינויי תאימות. נשמור זמן להרצת שינויי ביצועים ארוכים יותר, שאינם קשורים לתיקוני באגים ולעדכוני תאימות, ונשחרר אותם רק לאחר שאנחנו מאוד מרוצים מהתוצאות.

גם המהדורה הבאה של WPML תתייחס ליציבות ולביצועים. עכשיו 99% מהאתרים המריצים WPML פועלים חלק, אבל עדיין יש מספר אתרים המשתמשים בתצורות 'ייחודיות' של שרת אינטרנט, PHP או בסיס הנתונים. אנו נתייחס אליהם במהדורה המינורית הבאה. נכלול גם עוד מספר אופטימיזציות ביצועים, שיאפשרו מנהל מערכת וממשק קצה רזים יותר.

משוב?

אם יש לך שאלות, רעיונות והצעות, הוסף את תגובותיך. נשמח לקבל את המשוב שלך ונעשה ככל יכולתנו לספק את מה שאתה צריך.