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

במאמר הזה מוסבר על מכסות ומגבלות המערכת של 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. ברשימה מאפיינים, בוחרים באפשרות שירות, ואז ברשימה ערכים בוחרים באפשרות AlloyDB API.

הגדלת המכסות

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

  1. בדף Quotas (מכסות), לוחצים על Filter (סינון).
  2. ברשימה מאפיינים, בוחרים באפשרות שירות, ואז ברשימה ערכים בוחרים באפשרות 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 שניות, אתם צריכים לחכות עד שהמכסה הזו תתמלא מחדש לפני שתשלחו עוד בקשות בקבוצה הזו. אם הפרויקט שלכם חורג ממגבלת קצב, תקבלו קוד סטטוס HTTP 429 עם הסיבה rateLimitExceeded.

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

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

שם הקבוצה תיאור טווח ברירת המחדל של המכסה בשאילתות לדקה שיטות 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
קבלת API של פעולה קבלת הסטטוס העדכני של פעולה ממושכת. 950-1400
  • projects.locations.operations.get
ממשקי API של רשימות קוראים קבוצה של משאבים מאותו סוג. 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 תומך במכסות משאבים, שנקראות גם מכסות הקצאה. מכסות משאבים הן הכמות המקסימלית של משאבים שאפשר ליצור לסוג משאב מסוים, אם המשאבים האלה זמינים. מכסות משאבים מגבילות את השימוש במשאבים שאין להם קצב שימוש, כמו מספר המכונות הווירטואליות (VM) שבהן נעשה שימוש בפרויקט בפרק זמן נתון.

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

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

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

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

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

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

מכסות משאבים במעבדים וירטואליים

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

ערך ברירת המחדל של המכסה לכל הפרויקטים של הלקוחות הוא 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
מספר מקסימלי של חיבורים בו-זמניים לכל מופע

ברירת המחדל היא 1,000. אפשר לשנות את הערך עד 240,000.

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

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

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

VCPU זיכרון הערך המומלץ של max_connections
1 8 500
2 16 1000
4 32 2000
8 64 4000
16 128 5000
32 256 5000
48 384 5000
64 512 5000
72 576 5000
96 768 5000
128 864 5000

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

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

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

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

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