בדף הזה מתוארים הביצועים המשוערים ש-Spanner יכול לספק בתנאים אופטימליים, הגורמים שיכולים להשפיע על הביצועים וטיפים לבדיקה ולפתרון בעיות בביצועים של Spanner.
המידע בדף הזה רלוונטי גם למסדי נתונים של GoogleSQL וגם למסדי נתונים של PostgreSQL.
שיפורים בביצועים ובאחסון
שיפורים בביצועים ובאחסון הושקו בכל הגדרות המכונות של Spanner באזור אחד, בשני אזורים ובמספר אזורים. כדי ליהנות מהשיפורים האלה, שמוצעים ללא עלות נוספת, אתם לא צריכים לבצע שינויים באפליקציה או להגדיר באופן ידני שום דבר במכונות של Spanner. השיפורים האלה בביצועים מובילים לשיפור ברוחב הפס ובזמן האחזור בצומתי Spanner בכל ההגדרות של המכונות.
שיפור קצב העברת הנתונים
בכל ההגדרות של מכונות Spanner יש ביצועים משופרים וקצב העברת נתונים גבוה יותר. בטבלה הבאה מפורט קצב העברת הנתונים המשוער (שאילתות לשנייה) של הגדרות המכונות הבאות של Spanner:
| סוג הגדרת המכונה | שיא קריאות (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 של נתונים.
כדי להשיג ביצועי כתיבה מקסימליים עם כתיבה באופטימיזציה של תפוקה, צריך להגדיר עיכוב של 100 אלפיות השנייה באצווה. מידע נוסף זמין במאמר כתיבה באופטימיזציה של תפוקה.
באופן כללי, קצב העברת הנתונים לקריאה ולכתיבה של מכונה ב-Spanner גדל באופן ליניארי כשמוסיפים למכונה עוד קיבולת מחשוב (צמתים או יחידות עיבוד). לדוגמה, אם מכונה של Spanner באזור אחד עם 2 צמתים יכולה לספק עד 45,000 קריאות לשנייה, מכונה של Spanner באזור אחד עם 4 צמתים יכולה לספק עד 90,000 קריאות לשנייה.
אם עומס העבודה ב-Spanner לא מגיע לביצועים הצפויים, עיינו במאמר פתרון בעיות של רגרסיות בביצועי שאילתות כדי לקבל מידע על גורמים נפוצים.
נפח אחסון גדול יותר
בכל המכונות של Spanner, בין אם הן מוגדרות באזור אחד, בשני אזורים או במספר אזורים, לכל צומת (1,000 יחידות עיבוד) של נפח המחשוב במכונה יש נפח אחסון מוגדל של 10TiB.
ביצועים של עומסי עבודה אופייניים
בכל ההגדרות של מכונות Spanner יש ביצועים משופרים וקצב העברת נתונים גבוה יותר.
ביצועים של הגדרות אזוריות
כל 1,000 יחידות עיבוד (צומת אחד) של קיבולת מחשוב יכולות לספק את ביצועי השיא הבאים (ב-100% מעבד) בהגדרת מכונה אזורית:
| שיא קריאות (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% מעבד) בהגדרת מכונה בשני אזורים. כדי להגדיל את קצב העברת הנתונים בכתיבה מעבר למספרים שבטבלה, השתמשו בכתיבה עם אופטימיזציה של קצב העברת הנתונים. מידע נוסף זמין במאמר כתיבה עם אופטימיזציה של קצב העברת הנתונים.
| שם ההגדרה הבסיסית | מספר משוער של קריאות בשיא (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-east17,500 ב- us-west1 וב-us-west2HDD: 1,000 ב- us-central1 וב-us-east1500 ב- 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 כדי להבין מהי הקצאת המשאבים הכי טובה לאפליקציות שלכם. PerfKit Benchmarker של Google משתמש ב-YCSB כדי להשוות בין שירותי ענן. כדי ליצור בדיקות לעומסי העבודה שלכם, פועלים לפי המדריך של PerfKitBenchmarker ל-Spanner.
כשעושים את זה, צריך לכוונן את הפרמטרים בקובצי התצורה yaml של ההשוואה לשוק כדי לוודא שההשוואה שנוצרה משקפת את המאפיינים הבאים בסביבת הייצור:
- הגודל הכולל של מסד הנתונים
- סכימה (לדוגמה, גודל מפתח השורה, מספר העמודות וגודל נתוני השורה)
- תבנית הגישה לנתונים (התפלגות מפתחות השורות)
- שילוב של קריאות וכתיבות
- סוג השאילתות ורמת המורכבות שלהן
שחזור מספרי נקודות ההשוואה
כדי לשחזר את מספרי ההשוואה, פועלים לפי המדריך להשוואת ביצועים של Spanner באמצעות PerfKit Benchmarker, ומשתמשים בקובצי yaml המתאימים בתיקייה throughput_benchmark.
כדי להשוות בין מכונות בהגדרת מכונה שעברה שיפורי ביצועים, ודאו שהבדיקות פועלות באחת מהגדרות המכונה המשופרות האלה.
הגנה מפני כשלים באזורים ובאזורי זמינות
כשמריצים את עומסי העבודה בסביבת הייצור, חשוב להקצות מספיק קיבולת מחשוב כדי להמשיך לשרת את התנועה במקרה של אובדן של אזור שלם (למכונות אזוריות) או של אזור שלם (למכונות בשני אזורים ובמספר אזורים). למידע נוסף על ההמלצה לשימוש מקסימלי ב-CPU, קראו את המאמר התראות על שימוש גבוה ב-CPU.
המאמרים הבאים
- איך מתכננים סכימה של Spanner
- איך עוקבים אחרי הביצועים של Spanner
- איך פותרים בעיות באמצעות Key Visualizer
- מידע ולמידה על התמחור של Spanner