WPML 3.5 כלל שינוי משמעותי בתרגום מחרוזות. כשעלינו לאוויר איתו, גילינו מספר מקרים שלא הופיעו במהלך הפיתוח. העדכונים העוקבים מטפלים בכל הבעיות ומשפרים את הביצועים עוד יותר.
תיקונים מאז WPML 3.5
- תוקנה חריגה שלא נתפסה במקרים שבהם העמודה domain_name_context_md5 לא הייתה קיימת בטבלה icl_strings
- תוקנה שגיאה קריטית: Uncaught exception 'InvalidArgumentException' with message 'Argument ID must be numeric and greater than 0 בעת סינון קישורים קבועים
- תוקנה שגיאה קריטית שהופיעה במהלך שדרוג: WordPress database error: specified key was too long; max key length is 1000
- תוקנה שגיאה קריטית: Declaration of WPML_Post_Element::get_type() must be compatible with that of WPML_Translation_Element::get_type() עבור PHP 5.2
- הוסר הלוכסן השמאלי המוביל \ כדי למנוע אזהרות ב־PHP לפני גרסה 5.3
שיפורי מהירות
ביצענו כמה התאמות בטבלה החדשה שמאחסנת אילו מחרוזות מופיעות באיזה עמוד. שינויים אלה מקטינים משמעותית את גודל הטבלה, משפרים את הביצועים ומפחיתים את צריכת הזיכרון.
- פיצול טבלה אחת גדולה עם כפילויות לשתי טבלאות קטנות ויעילות
- אופטימיזציה של האינדקסים בטבלה
- הגבלת הגידול האפשרי של הטבלה עבור אתרים שמשתמשים בארגומנטים של כתובות URL, על ידי שימוש ברשימה לבנה של ארגומנטים שמשנים את בחירת העמוד
התוצאות
ביצענו כמה מדידות של ביצועי האתר שלנו במהלך עדכוני הגרסה. ניתן לראות כיצד העומס ירד, לאחר מכן עלה (כאשר האינדקסים של הטבלה לא עברו אופטימיזציה) וכעת הוא חזר להיות נמוך מהמקור.




המספרים המוחלטים בכל הגרפים האלה פחות משמעותיים, מכיוון שהם נלקחו בימים שונים בשבוע. בימי שישי, התנועה שלנו נמוכה בהרבה מאשר בימי שני. כדי להבין את השינויים, כדאי להסתכל על היחס בין המקטעים. ניתן לראות שבמקור, הגישה ל־icl_strings לקחה בערך אותו זמן כמו שליפת פוסטים (שזה לא דבר טוב). כעת, כל הגישות למסד הנתונים של WPML לוקחות בממוצע 1/3 מהשאילתות של הפוסטים. זה משמעותי מאוד, מכיוון ש־WPML צריך לטעון כמות גדולה של מחרוזות, בעוד ש־WordPress זקוק רק לכמה פוסטים.
תהליך טוב יותר בפעם הבאה
נאלצנו לשחרר את העדכון הזה לפני שהספקנו להריץ את מדידות הביצועים המלאות, מכיוון שהוא כלל שינויים עבור WordPress 4.6. בעתיד, נוודא להפריד בין שיפורי ביצועים לבין תאימות ל־WordPress. ברגע שגרסה חדשה של WordPress תגיע לשלב "release candidate", נוציא גרסה מינורית עם שינויי תאימות בלבד. נשמור זמן להרצת שינויי ביצועים ארוכים יותר, שאינם קשורים לתיקוני באגים ועדכוני תאימות, ונשחרר אותם רק לאחר שנהיה מרוצים מאוד מהתוצאות.
הגרסה הבאה של WPML תמשיך להתמקד ביציבות ובביצועים. 99% מהאתרים שמריצים את WPML עובדים כעת בצורה חלקה, אבל ישנם כמה אתרים שמשתמשים בתצורות "ייחודיות" של שרת האינטרנט, PHP או מסד הנתונים. אנחנו מתכוונים לטפל באלה בגרסה המינורית הקרובה. אנחנו גם כוללים עוד כמה אופטימיזציות של ביצועים, שיהפכו גם את אזור הניהול וגם את צד הלקוח לקלים יותר.
משוב?
אם יש לך שאלות, רעיונות והצעות, אנא הוסף את התגובות שלך. אנחנו שמחים מאוד לקבל את המשוב שלך ועושים את המיטב כדי לספק את מה שאתה צריך.

