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

ב-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 הבסיסיים "בעלים" ו"עריכה", ובתפקיד המוגדר מראש "אדמין מכסות".

בדיקת המכסות

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

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

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

    לפתיחת הדף Quotas

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

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

הגדלת המכסות

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

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

    אם 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
ממשקי API של Connect ליצור קשרים חדשים. 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
ממשקי 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
ממשקי API לשינוי (Mutate) שינוי מצב המשאב. 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.

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

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

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

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

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

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

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

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

AlloyDB instance exceeds available storage quota.

זמינות מקורות המידע

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

מגבלות

כדי לבקש להגדיל את המגבלה, [צריך לשלוח בקשת תמיכה](https://support.google.com/googlecloud/answer/1041916).
פריט הגבלה
צמתים של מאגר קריאה לכל אשכול (בכל המכונות של מאגר הקריאה) 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 של מכונה.
  • לעומסי עבודה שכוללים חיבורים לטווח קצר, כדאי להשתמש במאגר חיבורים כמו pgbouncer או pgpool-II.
  • מומלץ להוסיף מאגר חיבורים בצד האפליקציה, כמו HikariCP או c3p0.
  • אם אתם מחליטים להגדיר ערך גבוה יותר מההמלצות (עד 240,000), כדאי להביא בחשבון את צריכת הזיכרון הנוספת לכל חיבור פעיל, שתפחית את הזיכרון למאגר הנתונים הזמני המשותף.

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

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

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