כיצד לבצע מקבילות להורדות על פני שמות מארח

click fraud protection

כמה כלי בדיקת מהירות רוחב הפס עשויים להמליץ ​​על אתרים המקבילים הורדות שמות מארחים להגיש תוכן אינטרנט לדפדפני אינטרנט ביעילות. המלצה זו מתרחשת בדרך כלל באתרים המשתמשים בפרוטוקול HTTP / 1.1 וקורה כאשר דפדפני האינטרנט מגבילים את מספר החיבורים בו זמנית לדומיין.

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

פרוטוקול HTTP / 2 הפך לסטנדרט העיקרי, מה שהופך את הצורך בהורדות מקבילות למיושן. מרבית מארחי האתרים משתמשים כעת ב- HTTP / 2 כברירת מחדל והופכים CDN בחינם מסוג כלשהו לזמין. מכיוון ש- HTTP / 2 היא העדפה של גוגל כעת, שקול לעדכן את האתר שלך לאירוח ל- HTTPS.

מדוע מקבילים הורדות בין שמות מארחים?

דפדפני אינטרנט יכולים לפתוח מספר מוגבל של חיבורים מקבילים לכל מארח עבור אתרים המשתמשים בפרוטוקול HTTP / 1.1. מגבלה זו עשויה להיות גבוהה ככל שש חיבורים.

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

instagram viewer

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

אם משתמשים בתמונה כמו סמל או לוגו מספר פעמים, השתמש ב- CSS Sprite לתמונות חוזרות ונשנות אלה כדי להפחית את בקשות המשאבים.

מהי האזהרה על הורדות מקבילות בכל שמות מארח?

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

עבור אתרים המשתמשים בפרוטוקול HTTP / 1.1, הדרך לעקוף את הצורך הזה בחיבורים פתוחים יותר היא למזער בקשות HTTP, הגדר CDN, או יישם שיתוף דומיינים.

עבור אתרים המשתמשים בפרוטוקול HTTP / 2, מספר משאבים יכולים להיטען במקביל על חיבור יחיד; זה נקרא ריבוב. ריבוב הופך את שיתוף הדומיינים למיותר עם HTTP / 2. כ- 77 אחוז מדפדפני האינטרנט תומכים ב- HTTP / 2 ולא צריכים להיתקל בשום בעיה בהורדות מקבילות.

אם ספק אירוח האתרים שלך תומך ב- HTTP / 2, בטוח להתעלם מההורדה המקבילה על פני אזהרת שמות מארח. באמצעות HTTP / 2, מספר משאבים יכולים להוריד במקביל בחיבור אחד.

מה זה ריתוך דומיינים?

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

בשילוב דומיינים, התוכן מועלה לתת-דומיינים ללא עוגיות. משתמשים אינם מתקשרים עם תוכן סטטי כגון תמונות, JavaScript וקבצי CSS, ולכן אין צורך לצרף תוכן זה לקובצי Cookie.

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

בדרופל, מודולים מוסיפים קבצי CSS ו- JavaScript שיכולים להאט ביצועים. לך ל תצורת אתר > ביצועים ולבצע אופטימיזציה של CSS ו- JavaScript.

כדי לנצל את היתרונות של שיתוף דומיינים בחיבורי HTTP / 1.1, פעל לפי הטיפים הבאים:

  • הגש משאבים מאותם תת-דומיינים בכדי לשמור קבצי מטמון ביעילות.
  • הפץ משאבים באופן שווה בין תת-דומיינים.
  • רכוש אישורי SSL עבור תת הדומיינים.

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

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

כיצד לבצע מקבילות להורדות על פני שמות מארח

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

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

עבור אתרים המשתמשים ב- HTTP / 2 ו- HTTP / 1.1, הדרך הקלה ביותר להקביל הורדות בין שמות מארח היא להשתמש בתת-דומיינים מרובים באמצעות CDN. עבור אתרים המשתמשים ב- HTTP / 1.1 ובוורדפרס, הגדר תת-דומיינים וערוך את קובץ WordPress.php של וורדפרס.

הגדרת תת-דומיינים

כדי להפיץ משאבים על פני תחומי משנה, צור לפחות תחום אחד ועד ארבעה תת-תחומים; מומלץ תת-תחום אחד או שניים. הדרך הנפוצה ביותר ליצור תת דומיינים היא שימוש ב- cPanel, המוצעת על ידי מרבית שירותי אירוח אתרים.

דוגמאות לתתי דומיינים הם:

  • media1.mydomain.com
  • media2.mydomain.com
  • media3.mydomain.com
  • media4.mydomain.com

כמו כן, תת-דומיינים ושמות מארח חייבים להיות בעלי אותו מבנה ודרך. לדוגמה, אם נתיב התמונה במארח הוא www.mydomain.com/wp-content/uploads/, נתיב התמונה בתת-הדומיינים חייב להתאים, למשל, media1.mydomain.com/wp-content/uploads/.

הגדר CDN למקביל הורדות

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

כדי לכוון תת-תחום, השתמש בעורך אזור ה- DNS ב- cPanel כדי ליצור רשומת CNAME חדשה עבור כל תת-תחום. בשדה שם של הרשומה, הזן את תת-הדומיין, למשל, media.mydomain.com. בשדה CNAME, הזן את הדומיין הראשי, למשל, www.mydomain.com.

לאחר יצירת רשומות CNAME והפצתן על ידי מארח האינטרנט שלך, הוסף את רשומות CNAME להגדרות אזור CDN.

ערוך את קובץ התצורה של האתר בוורדפרס כדי להוריד במקביל

לאחר שהגדרת את תת-הדומיינים, הוסף קוד זה לקובץ functions.php של ערכת הנושא וורדפרס המשמשת לאתר שלך. החלף את media1.mydomain.com ו- media2.mydomain.com בתת-הדומיינים האמיתיים שלך.

פונקציה parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // שיחת פונקציה משלימה
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ host, $ url);
החזר url $;
}
פונקציה par_get_hostname ($ name) {
$ תת-דומיינים = מערך ('media1.mydomain.com', 'media2.mydomain.com'); // הוסף את תת הדומיינים שלך כאן, כמה שאתה רוצה.
$ host = abs (crc32 (שם בסיס ($ name)) ספירת% (תת-דומיינים $));
$ hostname = $ subdomains [$ host];
להחזיר $ hostname;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

אם אתה משתמש ב- Jetpack עם WordPress, הפעל את שירות מאיץ האתרים להציב את התמונות שלך ב- CDN המנוהל על ידי WordPress.

instagram story viewer