סקירה כללית של הביצועים

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

המידע בדף הזה רלוונטי למסדי נתונים של GoogleSQL ושל PostgreSQL.

שיפורים בביצועים ובאחסון

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

שיפור התפוקה של הביצועים

כל ההגדרות של מופעי Spanner כוללות שיפור בביצועים ומציעות תפוקה גבוהה יותר. בטבלה הבאה מפורטת תפוקת הנתונים המשוערת (שאילתות לשנייה) להגדרות של מופעי Spanner:

סוג ההגדרה של המופע קריאות שיא (QPS לכל אזור)   כתיבות בשיא (סך הכתיבות לשנייה)   שיא הכתיבות באמצעות כתיבות שעברו אופטימיזציה של קצב העברת הנתונים (סך הכול QPS)
אזורי SSD: 22,500
HDD: 1,500
או SSD: 3,500
HDD: 3,500
SSD: 22,500
HDD: 22,500
שני אזורים ומספר אזורים SSD: 15,000
HDD: 1,000
או SSD: 2,700
HDD: 2,700
SSD: 15,000
HDD: 15,000

מידע על תפוקת הביצועים של הגדרות המופעים האלה זמין במאמר ביצועים עבור עומסי עבודה אופייניים. מידע נוסף על שימוש בכונני SSD ובדיסקים קשיחים (HDD) לאחסון הנתונים זמין במאמר סקירה כללית על אחסון בשכבות.

ההנחיות לקריאה ניתנות לכל אזור (כי אפשר להציג קריאות מכל אזור עם הרשאת קריאה וכתיבה או הרשאת קריאה בלבד), ואילו ההנחיות לכתיבה הן לכל ההגדרה. ההנחיות לקריאה מניחות שאתם קוראים שורות בודדות של 1KB. ההנחיות לכתיבה מניחות שאתם כותבים שורות בודדות בנפח של 1KB של נתונים לכל שורה.

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

באופן כללי, קצב העברת הנתונים לקריאה ולכתיבה של מופע Spanner גדל באופן ליניארי כשמוסיפים למופע קיבולת מחשוב נוספת (צמתים או יחידות עיבוד). לדוגמה, אם מכונת Spanner באזור יחיד עם 2 צמתים יכולה לספק עד 45,000 קריאות בשנייה, אז מכונת Spanner באזור יחיד עם 4 צמתים יכולה לספק עד 90,000 קריאות בשנייה.

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

נפח אחסון גדול יותר

בכל ההגדרות של מכונות Spanner באזור אחד, בשני אזורים ובמספר אזורים, לכל צומת (1,000 יחידות עיבוד) של נפח מחשוב במכונה יש נפח אחסון מוגדל של 10TiB.

ביצועים לעומסי עבודה אופייניים

כל ההגדרות של מופעי Spanner כוללות שיפור בביצועים ומציעות תפוקה גבוהה יותר.

ביצועים של הגדרות לפי אזור

כל 1,000 יחידות עיבוד (צומת אחד) של קיבולת מחשוב יכולות לספק את ביצועי השיא הבאים (ב-100% CPU) בהגדרת מופע אזורי:

קריאות שיא (QPS לכל אזור)   כתיבות בשיא (סך הכתיבות לשנייה)   שיא הכתיבות באמצעות כתיבות שעברו אופטימיזציה של התפוקה (סך הכול QPS)
SSD: 22,500
HDD: 1,500
או SSD: 3,500
HDD: 3,500
SSD: 22,500
HDD: 22,500

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

ביצועים בהגדרות של שני אזורים

כל 1,000 יחידות עיבוד (צומת אחד) של קיבולת מחשוב יכולות לספק את ביצועי השיא הבאים (ב-100% CPU) בהגדרת מופע דו-אזורי. כדי להגדיל את קצב העברת הנתונים לכתיבה מעבר למספרים שבטבלה, אפשר להשתמש בכתיבות שעברו אופטימיזציה של קצב העברת הנתונים.

שם הגדרת הבסיס קריאות שיא משוערות (QPS לכל אזור) כתיבות משוערות בשעות השיא (סך הכול QPS)
dual-region-australia1 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
dual-region-germany1 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
dual-region-india1 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
dual-region-japan1 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700

ההנחיות לקריאה ניתנות לפי אזור (כי אפשר לבצע קריאות מכל מקום), וההנחיות לכתיבה הן לכל ההגדרה. ההנחיות לקריאה ולכתיבה מניחות שאתם קוראים וכותבים שורות בודדות של נתונים בגודל 1KB לכל שורה.

ביצועים של הגדרות במספר אזורים

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

כל 1,000 יחידות עיבוד (צומת אחד) של קיבולת מחשוב יכולות לספק את ביצועי השיא הבאים (ב-100% CPU):

שם הגדרת הבסיס קריאות שיא משוערות (QPS לכל אזור) כתיבות משוערות בשעות השיא (סך הכול QPS)
asia1 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
asia2 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
eur3 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
eur5 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
eur6 ‫SSD: ‏ 15,000, ‏ 7,500 לכל העתק אופציונלי לקריאה בלבד
HDD: ‏ 1,000, ‏ 500 לכל העתק אופציונלי לקריאה בלבד
SSD: 2,700
HDD: 2,700
eur7 ‫SSD: ‏ 15,000, ‏ 7,500 לכל העתק אופציונלי לקריאה בלבד
HDD: ‏ 1,000, ‏ 500 לכל העתק אופציונלי לקריאה בלבד
SSD: 2,700
HDD: 2,700
nam3 ‫SSD: ‏ 15,000, ‏ 7,500 לכל העתק אופציונלי לקריאה בלבד
HDD: ‏ 1,000, ‏ 500 לכל העתק אופציונלי לקריאה בלבד
SSD: 2,700
HDD: 2,700
nam6 ‫SSD: ‏ 15,000 ב-us-central1 וב-us-east1
7,500 ב-us-west1 וב-us-west2
HDD: ‏ 1,000 ב-us-central1 וב-us-east1
500 ב-us-west1 וב-us-west2 [1]
SSD: 2,700

HDD: 2,700
nam7 ‫SSD: ‏ 15,000, ‏ 7,500 לכל העתק אופציונלי לקריאה בלבד
HDD: ‏ 1,000, ‏ 500 לכל העתק אופציונלי לקריאה בלבד
SSD: 2,700
HDD: 2,700
nam8 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam9 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam10 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam11 ‫SSD: ‏ 15,000, ‏ 7,500 לכל העתק אופציונלי לקריאה בלבד
HDD: ‏ 1,000, ‏ 500 לכל העתק אופציונלי לקריאה בלבד
SSD: 2,700
HDD: 2,700
nam12 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam13 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam14 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam15 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam16 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam-eur-asia1 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
nam-eur-asia3 SSD: 15,000
HDD: 1,000
SSD: 2,700
HDD: 2,700
  • [1]: us-west1 ו-us-west2 מספקות רק חצי מהביצועים של QPS כי הן מכילות רפליקה אחת לכל אזור במקום שתיים.

ההנחיות לקריאה ניתנות לפי אזור (כי אפשר לבצע קריאות מכל מקום), וההנחיות לכתיבה הן לכל ההגדרה. ההנחיות לקריאה ולכתיבה מניחות שאתם קוראים וכותבים שורות בודדות של נתונים בגודל 1KB לכל שורה.

הפעלת עומסי העבודה הרגילים ב-Spanner

כשמתכננים את הקיבולת, תמיד כדאי להריץ את עומסי העבודה האופייניים שלכם מול מופע Spanner, כדי להבין מהי הקצאת המשאבים הכי טובה לאפליקציות שלכם. כלי ההשוואה של Google‏ PerfKit משתמש ב-YCSB כדי להשוות בין שירותי ענן. אתם יכולים לפעול לפי המדריך של PerfKitBenchmarker ל-Spanner כדי ליצור בדיקות לעומסי העבודה שלכם. כשעושים את זה, צריך לשנות את הפרמטרים בקובצי ההגדרות של ההשוואה yaml כדי לוודא שההשוואה שנוצרה משקפת את המאפיינים הבאים בסביבת הייצור:

שחזור של נתוני השוואה

כדי לשחזר את מספרי ההשוואה, פועלים לפי המדריך בנושא השוואה לשוק של Spanner באמצעות כלי ההשוואה של PerfKit, ומשתמשים בקבצים המתאימים yaml בתיקייה throughput_benchmark.

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

הגנה מפני כשלים אזוריים ואזוריים

כשמריצים את עומסי העבודה בסביבת ייצור, חשוב להקצות מספיק קיבולת מחשוב כדי להמשיך לשרת את התנועה במקרה של אובדן של אזור שלם (למכונות אזוריות) או של אזור שלם (למכונות בשני אזורים ומכונות במספר אזורים). מידע נוסף על השימוש המקסימלי המומלץ ב-CPU זמין במאמר בנושא התראות על שימוש גבוה ב-CPU.

המאמרים הבאים