חזרה
התקלה של GitHub ב-17 באוגוסט: 7 שעות ו-47 דקות וכשל קיבולת, לא קוד
SiTech AI Team2 წთ. საკითხავი

התקלה של GitHub ב-17 באוגוסט: 7 שעות ו-47 דקות וכשל קיבולת, לא קוד

GitHub פרסמה עדכון על התקלה ב-17 באוגוסט, ששיבשה במשך 7 שעות ו-47 דקות את github.com, האימות, Actions, ה-API ואת Copilot; החברה מכנה אותה כשל בקיבולת ולא בקוד, ומתארת תוכנית להרחבת מערכותיה.

ב-17 באוגוסט חוותה GitHub תקלה שנמשכה 7 שעות ו-47 דקות ושיבשה את github.com, את האימות, את GitHub Actions, את ה-API, את ה-pull request-ים, את ה-issues ואת Copilot עבור מפתחים וארגונים ברחבי העולם.

זה היה האירוע המשמעותי השני של החברה באוגוסט, לאחר כשל ב-Actions ב-6 באוגוסט. GitHub כבר פרסמה עדכוני מהימנות במרץ ובאפריל; לדבריה, האירועים החדשים מבהירים שיש להאיץ את העבודה הזו.

מה קרה

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

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

קיבולת, לא קוד

לדברי GitHub, אף אחת מהתקלות לא נגרמה משינוי בקוד או בקונפיגורציה: שתיהן היו כשלי קיבולת, שבהם רכיבים קריטיים לא הורחבו לפני שהביקוש עלה על יכולתם. מאז אפריל עלה מספר ה-commits החודשי בפלטפורמה מ-1.4 מיליארד ל-2.9 מיליארד. החברה הוסיפה יותר מ-3 מיליון ליבות CPU, 120 פטה-בייט אחסון מהיר וקיבולת רשת משמעותית, והתקינה כמה שיותר חומרה בהתאם לחשמל הזמין תוך האצת המעבר ל-Azure. כיום Azure משרת כ-58% מעומס הפלטפורמה ומחצית מכל פעולות ה-Git, לעומת 12% מהעומס במאי.

העבודה שלפנינו

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

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

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.