מכסות של Agent Retrieval

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

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

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

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

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

ב-Agent Retrieval (שנקרא בעבר Vector Search 2.0), המכסות נאכפות כדי להגן על השירות, להבטיח שיתוף הוגן של הקיבולת בין הפרויקטים ולספק לכם ביצועים ועלויות צפויים יותר. המיכסות מתועדות בנפרד לפי אזור. לדוגמה, השימוש ב-us-central לא משפיע על המכסה ב-europe-west4.

מדדים

כל שמות המדדים מתחילים בקידומת vectorsearch.googleapis.com/.

מכסות לקצב שליחת בקשות (בקשות לדקה ובייטים לדקה)

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

כל קריאה ל-API שאושרה מגדילה את המונה בבקשה אחת (או ב-N בייטים במקרה של מכסות בייטים). המונים הם לכל דקה קלנדרית, והם מבוססים על הערכה של חלון נע (אין איפוס קשיח בשעה :00).

אתם יכולים להריץ את הפקודה עד למגבלה ברציפות בלי לראות אפקט של 'מילוי מחדש'.

כשערך של מונה חורג מהמגבלה, בקשות נוספות מחזירות RESOURCE_EXHAUSTED (HTTP 429) עם reason="RATE_LIMIT_EXCEEDED" ושם המדד המדויק בשדה quota_metric.

מכסות קצב של מישור הבקרה

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

היקף: לכל פרויקט, לכל אזור

יחידה: 1/min

מגבלות: בקשות לדקה.

מדד מספרים
collection_management_requests collections.create
collections.update
collections.delete
collection_read_requests collections.get
collection_list_requests collections.list
index_management_requests indexes.create
indexes.update
indexes.delete
index_read_requests indexes.get
index_list_requests indexes.list

בקשות של פעולות ממושכות (LRO)

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

היקף: לכל פרויקט, לכל אזור

יחידה: 1/min

מגבלות: בקשות לדקה.

מדד מספרים
lro_requests operations.get
operations.list
operations.cancel
operations.delete

מכסות קצב במישור הנתונים

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

הערה: מכסת הבקשות לחיפוש (search_requests) מתייחסת לחיפוש טקסט ולחיפוש סמנטי.

היקף: לכל פרויקט, לכל אזור, לכל אוסף

יחידה: 1/min

מגבלות: בקשות לדקה, לכל אוסף

מדד מספרים
data_object_writes dataObjects.create
dataObjects.update
dataObjects.delete\
כל אובייקט נתונים שכלול ב
batchCreate
batchUpdate
batchDelete
data_object_reads dataObjects.get
query_requests ‫dataObjects.query (שאילתות סינון של מטא-נתונים בלבד)
search_requests ‫dataObjects.search כשמריצים רשת ANN צפופה או דלילה.
knn_search_requests dataObjects.search כשמריצים חיפוש מקיף של KNN.
batch_search_requests ‫dataObjects.batchSearch (בקשה אחת, ללא קשר לחיפושים המשניים)

מכסות של תפוקת נתונים במישור הנתונים

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

היקף: לכל פרויקט, לכל אזור, לכל אוסף

יחידה: 1/min

מגבלות: בקשות לדקה, לכל אוסף

מדד מספרים
data_object_write_bytes סכום הבייטים של נתונים וקטוריים שסודרו בסדרות שנכתבו על ידי כל הקריאות של
create,‏ update,‏ delete,‏ batchCreate,‏ batchUpdate ו-
batchDelete עבור אוספים, אובייקטים של נתונים ואינדקסים.

פעולות באצווה

  • ‫batchCreate, batchUpdate, batchDelete dataObjects: כל אובייקט נתונים בבקשה נחשב כפעולת כתיבה אחת ב-data_object_writes, והגודל שלו בבייטים אחרי הסריאליזציה מתווסף ל-data_object_write_bytes.

  • ‫batchSearch dataObjects: נספרת כבקשה אחת מתוך batch_search_requests, בלי קשר למספר החיפושים המשניים שכלולים בה. חיפוש באצווה גורם לכך שגם המכסה של חיפושי המשנה נספרת.

מכסות הקצאה (ספירה נוכחית)

מכסות הקצאה הן מספרים עדכניים.

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

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

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

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

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

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

היקף: לכל פרויקט, לכל אזור

יחידה: 1

מגבלות: מספרים מוחלטים (מכסות מדויקות)

מדד מספרים
collections מספר האוספים שקיימים בפרויקט או באזור.
indexes מספר האינדקסים (הסכום של כל האוספים) בפרויקט או באזור.
concurrent_index_operations פעולות LRO (יצירה, עדכון או מחיקה) של האינדקס שנמצאות בתהליך.
concurrent_collection_operations הפעולות של LRO (יצירה, עדכון, מחיקה) באוסף במהלך הטיסה.
concurrent_data_object_imports ה-LROs של dataObjects.import במהלך הטיסה.
concurrent_data_object_exports ה-LROs של dataObjects.export במהלך הטיסה.

הטמעה אוטומטית

הטמעה אוטומטית משתמשת ב-Gemini API ב-Vertex AI‏ (aiplatform.googleapis.com). כל בקשת API נספרת במסגרת המכסות של search_requests או data_object_writes ו, והקריאה להטמעה נספרת במסגרת מכסות החיזוי. מוודאים שיש מספיק נפח בשני ממשקי ה-API.

דוגמאות לשימוש

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

עומס עבודה מתמשך של כתיבה

אתם מבצעים המרה של מסמכים (נתונים בתוספת וקטור צפוף של 768 ממדים, בנפח של כ-4KB) לאוסף יחיד ב-us-central1. שתי מכסות חלות בו-זמנית:

data_object_writes        (requests per minute, per collection)
data_object_write_bytes   (bytes per minute, per collection)

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

כדי לדעת איזה מהמדדים קרוב יותר למגבלה שלו, צריך לבדוק את שניהם במסוף Cloud de Confiance .

עומס עבודה שכולל הרבה חיפושים

עומס עבודה של הצגת מודעות ששולח שאילתות ANN לאוסף יחיד צורך search_requests. אם מספר השאילתות המקסימלי לשנייה (QPS) מתקרב למגבלה לכל אוסף, אפשר לבקש הגדלה או לפזר את התנועה בין כמה אוספים באותו אזור.

אוספים קטנים רבים

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

batchSearch שמכיל 10 חיפושים משניים צורך בדיוק אחד batch_search_requests, אבל כל חיפוש משני עדיין נספר מול המדד המתאים שלו לכל חיפוש משני רק ברמת ה-batch החיצוני. חשוב לתכנן את ה-fan-out של האצווה בהתאם.

הצגת מכסות

כדי לראות את המכסות:

  1. פותחים את הדף IAM & Admin > Quotas במסוף Cloud de Confiance .
  2. מסננים לפי השירות Vector Search API.
  3. בעמודה Dimensions (e.g. location) (מאפיינים (למשל, מיקום)) אפשר לסנן לפי אזור ולפי Collection (אוסף) עבור מכסות של מישור הנתונים.

המגבלה האפקטיבית הנוכחית של כל מדד מוצגת בדף Quotas (מכסות) במסוף Cloud de Confiance לצד שם המדד, אחרי סינון לפי אזור, ולגבי מכסות של מישור הנתונים, לפי Collection (אוסף).

הגדרת התראות על מכסות

מומלץ להגדיר התראה ב-80% ניצול של המכסות שהעומס תלוי בהן. מידע נוסף זמין במאמרים בנושא הגדרת התראות על מכסות ושימוש במדדי מכסות במדיניות התראות.

פעולות שנכשלו

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

בקשות שנכשלות מסיבות אחרות (INVALID_ARGUMENT, NOT_FOUND וכו') נכללות במכסה לקצב הגשת בקשות כי השירות עדיין צריך לבדוק אותן.

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

חריגה מהמכסות

כשבקשה מוגבלת, ה-API מחזיר:

gRPC:   RESOURCE_EXHAUSTED (8)
HTTP:   429 Too Many Requests

הודעת השגיאה כוללת את המדד המדויק שהחריגה ממנו התרחשה.

לדוגמה:

Quota exceeded for quota metric 'vectorsearch.googleapis.com/search_requests'
and limit 'SearchRequestsPerMinutePerProjectPerRegionPerCollection' of service
'vectorsearch.googleapis.com' for consumer 'project_number:123456789012'.

במקרה כזה, אפשר לבקש להגדיל את המכסה.

הלקוחות צריכים:

  • ניסיון חוזר עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff) ותוספת של רעידות לשגיאות זמניות של הגבלת קצב. מתחילים בערך בשנייה הראשונה וחוזרים אחורה עד בערך 32 שניות.
  • שגיאות Not retry שנגרמות בגלל מכסות הקצאה (לדוגמה, "too many collections"). במקרה כזה, צריך למחוק משאב או לבקש להגדיל את המכסה.
  • פיזור פעולות הכתיבה בגיליון אלקטרוני בין אוספים או אזורים אם אוסף יחיד מגיע למכסת data_object_writes או data_object_write_bytes.
  • חימום מראש. אם אתם יודעים שההשקה תחרוג מהמגבלות הנוכחיות, כדאי לבקש הגדלה לפחות כמה ימי עסקים מראש.

בקשה להגדלת מכסה (QIR)

כדי לבקש להגדיל את המכסה:

  1. פותחים את הדף IAM & Admin > Quotas במסוף Cloud de Confiance .
  2. בוחרים את השורות שרוצים להגדיל.
  3. לוחצים על Edit Quotas, מזינים את הערך החדש ואת ההצדקה העסקית הקצרה ושולחים. כלולים בפלח:
    • שם המדד (לדוגמה, vectorsearch.googleapis.com/search_requests).
    • האזור ו (במקרה של מישור הנתונים) מזהה האוסף.
    • קצב העברת הנתונים המקסימלי ותיאור קצר של עומס העבודה (יציב לעומת לא יציב, שיא QPS צפוי, גודל מערך הנתונים הצפוי וכו').

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

פונקציות נוספות