מכסות ומגבלות

במאמר הזה מוסבר על מכסות ומגבלות המערכת של AlloyDB ל-PostgreSQL.

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

מכסות

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

מערכת המכסות ב-Cloud:

ברוב המקרים, כשאתם מנסים להשתמש ביותר משאבים מהמכסה, הגישה למשאב נחסמת ומה שאתם מנסים לעשות נכשל.

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

לסקירה כללית על מכסות ב-Cloud

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

המכסות לא זהות בכל הפרויקטים. אם השימוש שלכם ב- Google Cloud יגדל, יכול להיות שהמכסות יגדלו.

מידע נוסף על מכסות זמין במאמרי העזרה בנושא מכסות ב-Cloud.

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

למשאבי AlloyDB יש גם מגבלות. בניגוד למכסות, אי אפשר לשנות את מגבלות המערכת.

הרשאות לבדיקה ולעריכה של מכסות

כדי לראות את המכסות, נדרשת ההרשאה serviceusage.quotas.get.

כדי לשנות את המכסות, צריכה להיות לכם הרשאה מסוג serviceusage.quotas.update.

ההרשאות האלה כלולות כברירת מחדל בתפקידי IAM בסיסיים 'בעלים' ו'עריכה', ובתפקיד המוגדר מראש Quota Administrator.

בדיקת המכסות

כברירת מחדל, בטבלת המכסות במסוף Google Cloud מפורטות המכסות של כל השירותים. כדי לבדוק את המכסות הנוכחיות של משאבי AlloyDB בפרויקט, אפשר להשתמש ברשימה Filter בטבלה.

כדי לבדוק את המכסות הנוכחיות של משאבי AlloyDB בפרויקט, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Quotas במסוף Google Cloud .

    לפתיחת הדף Quotas

  2. בטבלת המכסות, לוחצים על סינון.

  3. ברשימה Properties (מאפיינים), בוחרים באפשרות Service (שירות), ואז ברשימה Values (ערכים) בוחרים באפשרות AlloyDB API.

הגדלת המכסות

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

  1. בדף Quotas (מכסות), לוחצים על Filter (סינון).
  2. ברשימה Properties (מאפיינים), בוחרים באפשרות Service (שירות), ואז ברשימה Values (ערכים) בוחרים באפשרות AlloyDB API.

    אם לא מופיע AlloyDB API, סימן ש-AlloyDB Admin API לא מופעל.

  3. בוחרים את המכסות שרוצים לשנות.

  4. לוחצים על Edit quotas.

  5. ממלאים את השם, כתובת האימייל ומספר הטלפון ולוחצים על הבא.

  6. מזינים את בקשת המכסה ולוחצים על שליחת בקשה.

מכסות לקצב שליחת בקשות

‫AlloyDB תומך במכסות קצב, שנקראות גם מגבלות קצב או מכסות API. מכסות לקצב שליחת בקשות מגדירות את מספר הבקשות שאפשר לשלוח ל-AlloyDB API.

כל מכסת קצב הגשת בקשות מתאימה לכל הבקשות לקבוצה של שיטה אחת או יותר של AlloyDB API. המכסות לקצב שליחת בקשות מתאפסות אחרי פרק זמן שמוגדר לשירות – לדוגמה, מספר בקשות API ליום.

כשמשתמשים ב-Google Cloud CLI או במסוף Google Cloud , שולחים בקשות ל-API, והבקשות האלה נספרות במגבלות הקצב. אם משתמשים בחשבונות שירות כדי לגשת ל-API, הבקשות האלה נספרות גם הן במכסה של קצב שליחת הבקשות.

המכסות לקצב שליחת בקשות נאכפות ומתווספות אוטומטית במרווחי זמן של 60 שניות (דקה אחת). כלומר, אם הפרויקט מגיע למקסימום של מכסת קצב כלשהו תוך 60 שניות, צריך להמתין עד שהמכסה הזו תתמלא מחדש לפני ששולחים עוד בקשות בקבוצה הזו. אם תחרגו ממגבלת קצב בפרויקט, תקבלו קוד סטטוס 429‏ HTTP עם הסיבה rateLimitExceeded.

ממשקי ה-API של AlloyDB מחולקים ל-6 קבוצות על סמך סוג הפעולה. מכסות הקצב מוטלות לדקה, לכל קבוצת API, לכל פרויקט, לכל אזור ולכל משתמש. לכל שילוב ייחודי של המאפיינים האלה, יש מכסת שימוש נפרדת ב-AlloyDB. לדוגמה, אם 100 משתמשים ניגשים לממשקי ה-API של Mutate בדקה אחת עבור פרויקט ואזור מסוימים, כל משתמש מקבל מכסה ברירת מחדל בטווח של 180 עד 250 בקשות לדקה לכל שילוב של פרויקט ואזור.

טווח מכסת ברירת המחדל לכל קבוצה הוא:

שם הקבוצה תיאור טווח ברירת המחדל של המכסה בשאילתות לדקה ה-Methods ב-API
Connect APIs ליצור קשרים חדשים. 180-2000
  • projects.locations.clusters.generateClientCertificate
  • projects.locations.clusters.instances.getConnectionInfo
קבלת ממשקי API קריאה של משאב יחיד. 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
Get operation API אחזור המצב העדכני של פעולה ממושכת. 950-2000
  • projects.locations.operations.get
List APIs קריאה של קבוצת משאבים מאותו סוג. 180-1000
  • projects.locations.clusters.list
  • projects.locations.clusters.instances.list
  • projects.locations.backups.list
  • projects.locations.supportedDatabaseFlags.list
  • projects.locations.list
List operations API רשימת פעולות שתואמות למסנן ספציפי בבקשה. 2200-3000
  • projects.locations.operations.list
Mutate APIs שינוי מצב המשאב. 180-250
  • projects.locations.clusters.create
  • projects.locations.clusters.patch
  • projects.locations.clusters.delete
  • projects.locations.clusters.restore
  • projects.locations.clusters.instances.create
  • projects.locations.clusters.instances.patch
  • projects.locations.clusters.instances.delete
  • projects.locations.clusters.instances.failover
  • projects.locations.clusters.instances.restart
  • projects.locations.backups.create
  • projects.locations.backups.patch
  • projects.locations.backups.delete
  • projects.locations.operations.delete
  • projects.locations.operations.cancel

מכסות משאבים

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

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

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

מכסות משאבים באשכולות

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

אם תשלחו בקשה ליצירה או לשחזור של אשכול באמצעות מסוף Google Cloud , ה-CLI של gcloud או AlloyDB API, והבקשה תגרום לחריגה מהמכסה, היא תיכשל ותוצג הודעת שגיאה שדומה להודעה הבאה:

Quota limit 'ClustersUsedPerProjectPerRegion' has been exceeded. Limit: 5 in region us-central1.

מכסות משאבים ב-vCPU

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

ערך ברירת המחדל של המכסה לכל הפרויקטים של הלקוחות הוא 10,000 מעבדים וירטואליים.

אם תשלחו בקשה ליצירה או לעדכון של מכונה באמצעות מסוף Google Cloud ,‏ ה-CLI של gcloud או AlloyDB API, והבקשה הזו תגרום לחריגה מהמכסה, היא תיכשל ותוצג הודעת שגיאה שדומה להודעה הבאה:

Quota limit 'VCPUsUsedPerProjectPerRegion' has been exceeded. Limit: 128 in region us-central1.

מכסות משאבים באחסון

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

אם שולחים בקשה לכתיבה במסד נתונים, כמו הצהרת INSERT שגורמת לחריגה מהמכסה, הבקשה נכשלת ומוצגת הודעת השגיאה הבאה:

AlloyDB instance exceeds available storage quota.

זמינות של מקורות מידע

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

מגבלות

כדי לבקש הגדלה של המגבלה, צריך לפתוח פנייה לתמיכה.

פריט הגבלה
קריאה של צמתים במאגר לכל אשכול (בכל המכונות במאגר הקריאה) 20
מספר מקסימלי של חיבורים בו-זמניים לכל מכונה

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

מספר מקסימלי של חיבורים בו-זמניים

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

משתמשים בטבלה הבאה כדי לבחור את הערך של max_connections בהתאם לגודל המכונה:

VCPU זיכרון (GB) ערך ברירת המחדל של max_connections הערך המקסימלי המומלץ של max_connections
1 8 100 200
2 16 100 570
4 32 200 980
8 64 400 2300
14 112 700 4000
16 128 800 4600
22 176 1000 6300
32 256 1000 9175
44 352 1000 12600
48 384 1000 13760
64 512 1000 18350
72 576 1000 20640
88 704 1000 25230
96 768 1000 27525
128 864 1000 30960
144 1152 1000 41290

לפני שמגדירים את הערך, חשוב לשים לב לשיקולים הבאים:

  • כשמגדירים את הדגל max_connections במופע של מאגר לקריאה, הערך החדש צריך להיות זהה לערך max_connections של המופע הראשי של האשכול או גדול ממנו.
  • לפני שמקטינים את הגודל של מופע קיים, צריך לעדכן את ערך הדגל max_connections בהתאם. אחרת, יכול להיות שתיתקלו בבעיות.
  • מומלץ להריץ עד ארבע שאילתות בו-זמנית לכל vCPU של מופע.
  • עבור עומסי עבודה שכוללים חיבורים לטווח קצר, מומלץ להשתמש ב-connection pooler כמו pgbouncer או pgpool-II.
  • מומלץ להוסיף מאגר חיבורים בצד האפליקציה, כמו HikariCP או c3p0.
  • אם מחליטים להגדיר את הערך למספר גבוה מההמלצות (עד 240,000), צריך לקחת בחשבון את צריכת הזיכרון הנוספת לכל חיבור פעיל, שתקטין את הזיכרון של מאגר נתונים זמני משותף.

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

מגבלות על שאילתות שמורות

ערך הגבלה
המספר המקסימלי של שאילתות שמורות לכל פרויקט (כולל שאילתות שמורות למוצרים אחרים) Google Cloud 10,000
הגודל המקסימלי של כל שאילתה ‫1 MiB