במאמר הזה מוסבר על מכסות ומגבלות המערכת של AlloyDB ל-PostgreSQL.
- המכסות נקבעות כברירת מחדל, אבל בדרך כלל אפשר לבקש לשנות אותן.
- מגבלות המערכת קבועות ואי אפשר לשנות אותן.
מכסות
המכסות שלGoogle Cloud עוזרות לשמור על הוגנות ולצמצם עליות חדות בשימוש במשאבים ובזמינות שלהם. הן מגבילות את כמות המשאבים שלGoogle Cloud שאפשר להשתמש בהם בפרויקט ב- Google Cloud . המכסות רלוונטיות למגוון רחב של סוגי משאבים, כולל רכיבי חומרה, תוכנה ורשתות. לדוגמה, המכסות יכולות להגביל את מספר הקריאות ל-API בשירות מסוים, את מספר מאזני העומסים שאפשר להשתמש בהם בו-זמנית בפרויקט או את מספר הפרויקטים שאפשר ליצור. בשורה התחתונה, המכסות מגינות על משתמשיGoogle Cloud בכך שהן מונעות עומס יתר על השירותים, אבל גם עוזרות לשלוט על השימוש במשאבי Google Cloud .
מערכת המכסות ב-Cloud:
- עוקבת אחרי השימוש במוצרים ובשירותים של Google Cloud
- מגבילה את השימוש במשאבים האלה
- כוללת כלי שבאמצעותו אפשר לשלוח בקשות לשינוי המכסות ולשנות אותן אוטומטית
ברוב המקרים, כשאתם מנסים להשתמש ביותר משאבים מהמכסה, הגישה למשאב נחסמת ומה שאתם מנסים לעשות נכשל.
בדרך כלל, המכסות ב- Google Cloud הן ברמת הפרויקט. כלומר, השימוש במשאב מסוים בפרויקט כלשהו לא משפיע על המכסה שלכם בפרויקטים אחרים. ברמת הפרויקט ב- Google Cloud , המכסות משותפות לכל האפליקציות וכתובות ה-IP.
Google Cloud גם מציעה מכסות לניסיון בחינם, שמאפשרות גישה מוגבלת לפרויקטים כדי לעזור לכם לבדוק את Google Cloud ללא תשלום.
המכסות לא זהות בכל הפרויקטים. אם השימוש שלכם ב- Google Cloud גדל, יכול להיות שהמכסות יגדלו.
מידע נוסף על מכסות זמין במאמרי העזרה בנושא מכסות ב-Cloud.
מידע ספציפי על מכסות שמוגדרות על ידי AlloyDB זמין במאמרים מכסות קצב ומכסות משאבים.
יש גם מגבלות על משאבי AlloyDB. בניגוד למכסות, אי אפשר לשנות את מגבלות המערכת.
הרשאות לבדיקה ולעריכה של מכסות
כדי לראות את המכסות, צריך את ההרשאה serviceusage.quotas.get.
כדי לשנות את המכסות, צריך הרשאה מסוג serviceusage.quotas.update.
ההרשאות האלה כלולות כברירת מחדל בתפקידי IAM בסיסיים 'בעלים' ו'עריכה', ובתפקיד האדמין המוגדר מראש Quota Administrator.
בדיקת המכסות
כברירת מחדל, בטבלת המכסות במסוף Google Cloud מפורטות המכסות של כל השירותים. כדי לבדוק את המכסות הנוכחיות של משאבי AlloyDB בפרויקט, אפשר להשתמש ברשימה Filter בטבלה.
כדי לבדוק את המכסות הנוכחיות של משאבי AlloyDB בפרויקט, מבצעים את השלבים הבאים:
נכנסים לדף Quotas במסוף Google Cloud .
בטבלת המכסות, לוחצים על Filter (מסנן).
ברשימה Properties (מאפיינים), בוחרים באפשרות Service (שירות), ואז ברשימה Values (ערכים) בוחרים באפשרות AlloyDB API.
הגדלת המכסות
ככל שהשימוש שלכם ב- Google Cloud יתרחב עם הזמן, המכסות שלכם יגדלו בהתאם. אם צפויה עלייה משמעותית בשימוש, מומלץ לשלוח את הבקשה כמה ימים מראש כדי לוודא שהמכסות יספיקו.
- בדף Quotas (מכסות), לוחצים על Filter (סינון).
ברשימה Properties (מאפיינים), בוחרים באפשרות Service (שירות), ואז ברשימה Values (ערכים) בוחרים באפשרות AlloyDB API.
אם לא מופיע AlloyDB API, סימן ש-AlloyDB Admin API לא מופעל.
בוחרים את המכסות שרוצים לשנות.
לוחצים על Edit quotas.
מזינים את השם, כתובת האימייל ומספר הטלפון ולוחצים על הבא.
מזינים את בקשת המכסה ולוחצים על שליחת בקשה.
מכסות לקצב שליחת בקשות
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 |
|
| קבלת ממשקי API | קריאה של משאב יחיד. | 180-1000 |
|
| Get operation API | אחזור המצב העדכני של פעולה ממושכת. | 950-1400 |
|
| List APIs | לקרוא קבוצה של משאבים מאותו סוג. | 180-1000 |
|
| List operations API | רשימת פעולות שתואמות למסנן ספציפי בבקשה. | 2200-3000 |
|
| Mutate APIs | שינוי מצב המשאב. | 180-250 |
|
מכסות משאבים
AlloyDB תומך במכסות משאבים, שנקראות גם מכסות הקצאה. מכסות משאבים הן הכמות המקסימלית של משאבים שאפשר ליצור לסוג משאב מסוים, אם המשאבים האלה זמינים. מכסות משאבים מגבילות את השימוש במשאבים שאין להם קצב שימוש, כמו מספר המכונות הווירטואליות שנעשה בהן שימוש בפרויקט בפרק זמן נתון.
מכסות המשאבים לא מתאפסות עם הזמן. במקום זאת, צריך לבצע פעולה כדי לשחרר את המשאבים שלא בשימוש, כמו מחיקת אשכול שלא צריך.
מכסות המשאבים מוטלות על מספר האשכולות והמעבדים הווירטואליים שנעשה בהם שימוש, כפי שמפורט בקטעים הבאים.
מכסות משאבים באשכולות
המכסה הזו חלה על מספר האשכולות לכל פרויקט בכל אזור. ערך ברירת המחדל של המכסה הזו הוא בין 3 ל-10 אשכולות לכל פרויקט לכל אזור, בהתאם להיסטוריית השימוש בפרויקט. הערך המקסימלי שנתמך למכסה הזו הוא 20 אשכולות לכל פרויקט בכל אזור.
אם תשלחו בקשה ליצירה או לשחזור של אשכול באמצעות מסוף Google Cloud , ה-CLI של gcloud או AlloyDB API, והבקשה תגרום לחריגה מהמכסה, היא תיכשל ותוצג הודעת שגיאה שדומה להודעה הבאה:
Quota limit 'ClustersUsedPerProjectPerRegion' has been exceeded. Limit: 5 in region us-central1.
מכסות משאבים ב-vCPU
המכסה הזו חלה על מספר ליבות ה-vCPU לכל פרויקט בכל אזור. כל מופע צורך כמות מסוימת מהמכסה הזו, בהתאם למספר המכונות הווירטואליות שבהן הוא משתמש. כל מופע ראשי משתמש בשתי מכונות וירטואליות. כל מופע של מאגר קריאה משתמש במכונה וירטואלית אחת לכל צומת שהוא מכיל. מספר ה-vCPU שבהן נעשה שימוש בכל מכונה וירטואלית מסופק על ידכם בזמן יצירת המכונה או עדכונה.
ערך ברירת המחדל של המכסה לכל הפרויקטים של הלקוחות הוא 10,000 מעבדי vCPU.
אם תשלחו בקשה ליצירה או לעדכון של מכונה באמצעות מסוף 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של המופע הראשי של האשכול או גדול ממנו. - מומלץ להריץ עד ארבע שאילתות בו-זמנית לכל vCPU של מופע.
- עבור עומסי עבודה שכוללים חיבורים לטווח קצר, מומלץ להשתמש ב-connection pooler כמו pgbouncer או pgpool-II.
- מומלץ להוסיף מאגר חיבורים בצד האפליקציה, כמו HikariCP או c3p0.
אם מחליטים להגדיר ערך גבוה יותר מההמלצות (עד 240,000), צריך לקחת בחשבון את צריכת הזיכרון הנוספת לכל חיבור פעיל, שתקטין את הזיכרון של המאגר המשותף.
כדי לחשב את צריכת הזיכרון הזו, מכפילים את מספר השאילתות המקבילות בערך שמוגדר לדגל
work_mem. ערך ברירת המחדל של הדגל הזה הוא4MBאו מספר ה-vCPU במופע, הגבוה מביניהם.
מגבלות על שאילתות שמורות
| ערך | הגבלה |
|---|---|
| המספר המקסימלי של שאילתות שמורות לכל פרויקט (כולל שאילתות שמורות למוצרים אחרים) Google Cloud | 10,000 |
| גודל מקסימלי לכל שאילתה | 1 MiB |