מאמר זה הוא בעצם מאמר המשך לנושא בחינת מהירות האתר
במאמר זה, נבחן נקודתית כיצד ניתן לאתר בעיית איטיות באתר WordPress, באמצעות פלאגין בשם "Plugin Performance Profiler".
הפלאגין יסייע לנו להבין האם מקור הבעיה הוא בשרת (כלומר: האם הטעינה הבסיסית של WordPress איטית), או שמא בעיית האיטיות נגרמת בגלל טעינה של פלאגין מסויים או ערכת עיצוב.
התקנה
לטובת המשתמשים המתחילים (ואולי גם המתחילים פחות), אני אתאר ראשית כיצד יש לבצע את ההתקנה של הפלאגין.
- ראשית, יש להכנס לניהול ה-wordpress ולהקליק על אזור התוספים ולבחור ב"תוסף חדש":
- לאחר מכן נחפש את הפלאגין בין הפלאגינים הזמינים ב-wordpress.org:
- מבין תוצאות החיפוש, נלחץ על "התקנה":
- בסיום ההתקנה, נלחץ על "הפעל תוסף" על מנת להפעילו.
שימוש
השימוש בפלאגין הוא יחסית פשוט, בסעיפים הבאים נלמד כיצד לייצור דו"ח ולפענח אותו.
- מכיוון שלא מדובר בפלאגין הפועל באופן סדיר (אלה מבצע סריקות עפ"י דרישה), הפעלת הפלאגין לא מספיקה ויש ללחוץ על "Scan now" על מנת לבצע את הסריקה (אפשרות זו זמינה ממסך התוספים אליו נכנסנו בסעיף 1):
- נלחץ על "Start scan" לתחילת הסריקה:
- הפלאגין יבקש מאיתנו תחת איזה שם לבחור את הטופס וכן איזה סוג סריקה לבצע, אנו נבחר באפשרות "Auto scan".
- בשלב זה, תתבצע הסריקה ובסיומה יוצגו התוצאות.
פענוח הדו"ח
הדו"ח נותן לנו מידע מאוד מעניין לגבי הפלאגינים וערכות העיצוב השונות המופעלות באתר.
הפלאגין מודד את העומס הנגרם בעקבות ההפעלה של כל אחד מהם (על בסיס הזמן שלקח להריץ את קוד ה-php שלו, מורכבות שאילתות ה-SQL וכן זמן הריצה שלהם.
נציג דו"ח לדוגמא וננתח יחד את תוצאות הדו"ח:
מסך הבית של הדו"ח
"מסך הבית" נותן לנו View מהיר לגבי השפעת הפלאגינים זמן הריצה של האתר:
- Plugin impact: מהי השפעת הפלאגינים (מבחינת זמן) על טעינת האתר?
מספר של עד 50% היא הגיונית ותקינה, מעבר לכך, שווה לבחון לבטל את הפלאגין הבעייתי (ואולי למצוא פלאגין אחר שמבצע את אותה הפעולה) - Plugin load time: מהו זמן הטעינה הכולל של הפלאגינים באתר?
נתון זה מייצג בעצם "כמה זמן לקח לטעון את הפלאגינים מתוך הזמן הכולל של ה-Time To First Byte".
גרף העוגה נותן לנו תאור גרפי של רשימת הפלאגינים, ומתוכם: העומס היחסי של כל פלאגין.
במילים אחרות, "מהו הפלאגין מעמיס ביותר על האתר?"
הבדיקה כמובן מתבצעת אל מול הפלאגינים הפעילים בלבד.
Detailed drill down
תצוגה זו נתונת לנו את רשימת הפלאגינים על ציר זמן.
בדוגמא שלפנינו, אנו יכולים לראות את החלוקה הבאה:
- זמן טעינה כללי: 0.5 שניות
- מתוכו, זמן הטעינה של מנוע ה-wordpress הבסיסי (wp core time): סה"כ 0.2 שניות
- Theme: זמן הטעינה הגבוה ביותר הבא הוא של ערכת העיצוב: 0.18 שניו
- משם והלאה, אנחנו יכולים לראות שהפלאגין ה"כבד" הבא הוא פלאגין בשם All In One Seo Pack אשר זמן הטעינה הכולל שלו הוא 0.06 שניות.
מה המסקנות עד כה?
המספרים בדוגמא שלנו מאוד נמוכים מלכתחילה, אבל אם תאורתית המספרים היו גבוהים יותר, היינו מצביעים על הפלאגין "All In One Seo Pack" כמקור לבעיית האיטיות.
Detailed timeline
אפשרות זו מציגה למעשה את אותם הנתונים שראינו קודם, אך בתצוגה לאורך ציר זמן.
מקרה זה מחדד את המסקנות הקודמות שלנו:
- העיצוב הוא הגורם הכבד ביותר בטעינה
- הפלאגין הכבד ביותר הוא All In One Seo Pack
בדקנו, מה עכשיו?
או במילים אחרות: מה עושים עם מסקנות הדו"ח?
צריך לבחור אחד מ-2 צורות עבודה אפשריות:
- לבטל את הפלאגין הבעייתי ולחפש פלאגין חלופי
- לקבל את העובדה שמקור האיטיות הוא בפלאגין הנ"ל, אך מכיוון שהוא פלאגין חובה לעבודה התקינה של האתר – להמשיך לעבוד עם האיטיות הנ"ל.
בנקודה זו, ניתן לנסות לחפש פלאגין CACHE (או CDN) שסייע במהירות האתר – שימו לב, פלאגינים כאלו משפיעים לרוב רק על ה-Front End של האתר, אם הפלאגין גורם לאיטיות ב-Back End – כל נסיון לפתור את הבעיה באמצעות CACHE או CDN לא יהיה יעיל.
בהצלחה!
- ריבוי אתרים בחשבון = סיכון אבטחה - יולי 16, 2017
- Let's encrypt – תעודות SSL, ובחינם! - ינואר 17, 2017
- PHPMailer Exploit - דצמבר 28, 2016
השאר תגובה