בדף הזה מפורטות שיטות מומלצות להעברות של מערכות קבצים.
שיטות מומלצות לשיפור הביצועים
השיטות המומלצות הבאות יעזרו לכם לשפר את ביצועי ההעברה:
כדי להשוות את הביצועים, צריך להעביר מערך גדול של נתונים, בדרך כלל בגודל של לפחות 100 GB.
Storage Transfer Service הוא שירות בקנה מידה גדול שעבר אופטימיזציה של תפוקה, ולכן הביצועים שלכם במערכי נתונים קטנים מאוד לבדיקה לא מעידים על הביצועים במערכי נתונים גדולים בסביבת Production.
הגבלת מספר הקבצים בתיקיות מקור נפרדות למיליון. ספריות שמכילות מיליוני קבצים יכולות להאט את כל ההעברה.
הפעלת סוכנים במכונות וירטואליות (VM) נפרדות מאפשרת לכם להתאים את צריכת המשאבים בצורה יעילה יותר.
מוודאים שהממשק של הרשת במכונות של הסוכן מותאם לרוחב הפס של הקריאה/כתיבה שאתם צריכים.
לדוגמה, אם אתם מתכוונים להשתמש באופן מלא ברשת רחבת פס (WAN) של 20 Gbps, ממשק הרשת של מכונת הסוכן צריך לתמוך ב-20 Gbps כדי לקרוא נתונים ממערכת הקבצים ברשת, ועוד 20 Gbps כדי להעביר נתונים ל-Cloud Storage, או 40 Gbps של רוחב פס כולל.
כדי לוודא שהמכונות לא מוצפות בעומסי עבודה אחרים, כדאי לעקוב אחרי המעבד, הזיכרון והרשת במכונות של הסוכן, כי זה עלול להשפיע לרעה על הביצועים. מומלץ לעיין בדרישות החומרה של הסוכן כדי לקבל נתונים מוצעים לגבי זיכרון ומעבד.
העלאות מרובות חלקים
אם ההעברה היא ממערכת קבצים של POSIX אל Cloud Storage, או בין מערכות קבצים של POSIX, כדאי להפעיל העלאות מרובות חלקים. העלאות מרובות חלקים יכולות להאיץ העברות שכוללות קבצים גדולים עד פי 3, על ידי פיצול קבצים גדולים (>1 GiB) לחלקים קטנים יותר והעלאת החלקים האלה במקביל.
מערכות קבצים שתואמות ל-HDFS ול-S3 לא תומכות בהעלאות מרובות חלקים.
הפעלת העלאות מרובות חלקים
כדי להפעיל העלאות מרובות חלקים:
צריך להעניק את ההרשאות הנדרשות לחשבון שמאשר סוכני העברה, בין אם זה חשבון משתמש או חשבון שירות.
בקטגוריית היעד או בקטגוריית הביניים לא יכולה להיות מדיניות שמירת נתונים או דגל object hold.
אחרי שמפעילים את Storage Transfer Service, הוא משתמש אוטומטית בהעלאה מרובת חלקים כשהשימוש בה צפוי להאיץ את ההעברה.
הגדרת כללי מחזור חיים של אובייקטים מרובי חלקים
אפשר להשתמש בניהול מחזור חיים של אובייקטים ב-Cloud Storage כדי לבטל העלאה מרובת חלקים שלא הושלמה ולמחוק את החלקים שמשויכים אליה. מידע נוסף מופיע במאמר בנושא ביטול העלאות מרובות חלקים שלא הושלמו במסמכי Cloud Storage.
מומלץ להגדיר ערך של age ל-7 ימים.
השבתת העלאות מרובות חלקים
כדי להשבית העלאות מרובות חלקים, צריך להתקין מחדש את סוכני ההעברה באמצעות docker run ולהעביר את --enable-multipart=false:
sudo docker run --ulimit memlock=64000000 -d --rm \ -v /usr/local/research:/usr/local/research \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --agent-pool=AGENT_POOL \ --creds-file=CREDENTIAL_FILE \ --hostname=$(hostname) \ --enable-multipart=false
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_IDמציין את מזהה הפרויקט שמארח את ההעברה. -
CREDENTIAL_FILE: אם סוכן ההעברה משתמש בחשבון שירות לאימות, מציינים את הנתיב לקובץ פרטי הכניסה של חשבון השירות בפורמט JSON.
אפשרות אחרת היא לבטל את ההרשאות הנדרשות מהחשבון שמאשר את סוכני ההעברה, בין אם זה חשבון משתמש או חשבון שירות.
מיקסום הביצועים של סוכן ההעברה
הביצועים של ההעברה מושפעים מהמשתנים הבאים:
יכולות של מערכת הקבצים.
מגבלות חומרה בסיסיות.
סוג המדיה של הכונן הקשיח, אפיק הקלט/פלט והקישוריות לרשת מקומית (LAN) משפיעים על הביצועים.
התפוקה והניצול של WAN.
רשת WAN איטית או כזו שנעשה בה שימוש רב מאטה את הביצועים.
מאפייני הקובץ.
לדוגמה, קצב העברת הנתונים ברשת של הרבה קבצים גדולים גבוה יותר מזה של הרבה קבצים קטנים, בגלל התקורה של הרשת.
בגלל המשתנים האלה, אנחנו לא יכולים לחזות את הביצועים בפועל או לספק מספר אופטימלי של נציגים לשימוש.
מומלץ להשתמש לפחות בשלושה סוכנים, במכונות שונות אם אפשר, כדי שההעברה תהיה עמידה בכשלים. אתם יכולים להוסיף סוכני העברה בזמן שההעברות פועלות, כי הביצועים משתפרים באופן דינמי.
כדי לראות את ההשפעה של הוספת סוכנים ולבחור את מספר הסוכנים שהכי מתאים לסביבה שלכם, צריך לבצע את הפעולות הבאות:
מתחילים העברה גדולה שנמשכת לפחות שעה. לדוגמה, מתחילים העברה שמכילה לפחות 100,000 קבצים ושהגודל הכולל שלה הוא לפחות 100 GB.
שימוש ב-Cloud Monitoring כדי לצפות בנתוני התפוקה הכוללת של הסוכן.
מחכים עד שקצב העברת הנתונים יתייצב, ומחליטים אם אתם מוגבלים על ידי קיבולת ה-WAN או על ידי מכסת רוחב הפס.
אם לא הגעתם לקיבולת של ה-WAN ולא הגעתם למגבלת ההעברה הרצויה, תוכלו להוסיף עוד סוכן. הסוכן הנוסף מגדיל באופן אוטומטי את קצב העברת הנתונים. ממתינים כ-3 דקות עד שהתפוקה מתייצבת ב-Cloud Monitoring.
חוזרים על שלבים 3 ו-4 ומוסיפים סוכן אחד בכל פעם עד שמגיעים למגבלה הרצויה. כל עוד יש משאבי מחשוב, מערכת קבצים ורשת, אפשר להריץ עד 100 סוכנים בו-זמנית בכל מאגר סוכנים.
אם תגיעו לרוחב הפס היוצא לפני שתגיעו למגבלה הרצויה, תוכלו לבצע אחת מהפעולות הבאות:
אם הוספתם סוכנים, אבל קצב העברת הנתונים לא גדל ורשת ה-WAN לא רוויה, כדאי לבדוק את קצב העברת הנתונים של מערכת הקבצים. במקרים נדירים, נפח התפוקה של מערכת הקבצים מגיע לרוויה, מה שמקשה על היכולת שלכם לשפר את ביצועי ההעברה.
מתן שמות לסוכנים
כשנותנים שמות לסוכנים, מומלץ:
חשוב לכלול תמיד את שם המארח בסוכן. כך תוכלו למצוא את המחשב שבו הסוכן פועל. מומלץ להעביר את
--hostname=$(hostname)לפקודהrunשל Docker.בוחרים תוכנית של קידומות לסוכנים שתעזור לכם לזהות סוכנים בהקשר של המעקב וארגון התשתית. לדוגמה:
אם יש לכם שלושה פרויקטים נפרדים של העברה, כדאי לכלול את שם הצוות בסוכן. לדוגמה,
logistics.אם אתם מפעילים שני פרויקטים שונים של העברה לשני מרכזי נתונים שונים, כדאי לכלול את שם מרכז הנתונים בקידומת של הסוכן. לדוגמה,
omaha.