בדף הזה מוסבר איך להפעיל, להגדיר ולנטר את מאגר החיבורים המנוהל במכונות של Cloud SQL.
התכונה "מאגר חיבורים מנוהל" מאפשרת לשנות את קנה המידה של עומסי העבודה, על ידי אופטימיזציה של ניצול המשאבים וזמן האחזור של החיבור למכונות באמצעות מאגר. במאמר סקירה כללית על מאגר חיבורים מנוהל מוסבר בפירוט איך להשתמש במאגר חיבורים מנוהל במכונות שלכם.
לפני שמתחילים
- מוודאים שהמכונה עומדת בכל הדרישות לשימוש בניהול מאגר החיבורים.
- אם אתם משתמשים ב-CLI של gcloud, ודאו שגרסת ה-CLI של gcloud היא
515.0.0ואילך.
הפעלת מאגר חיבורים מנוהל
אפשר להפעיל את Managed Connection Pooling במכונה בזמן היצירה, או לערוך מכונה קיימת כדי להפעיל את התכונה.
הפעלת מאגר חיבורים מנוהל במכונה חדשה
כדי ליצור מכונה חדשה עם מאגר חיבורים מנוהל, קראו את המאמר יצירת מכונות. אפשר להפעיל את מאגר החיבורים המנוהל במכונה חדשה רק באמצעות ה-CLI של gcloud או Cloud SQL API.
הפעלת מאגר חיבורים מנוהל במכונה קיימת
כדי להפעיל את Managed Connection Pooling במכונה קיימת:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
מאתרים את המכונה שרוצים להפעיל בה את מאגר החיבורים המנוהל. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
לוחצים על Edit.
בקטע Customize your instance, מרחיבים את Connections.
כדי להפעיל את Managed Connection Pooling, מסמנים את התיבה Enable Managed Connection Pool.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud sql instances כדי להפעיל את מאגר החיבורים המנוהל.
gcloud sql instances patch INSTANCE_NAME \
--enable-connection-pooling
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה ב-Cloud SQL.
REST v1
משתמשים בפקודה הבאה ומגדירים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"connectionPoolConfig": {
"connectionPoolingEnabled": true
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
משתמשים בפקודה הבאה ומגדירים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"connectionPoolConfig": {
"connectionPoolingEnabled": true
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Terraform
משתמשים במשאב הבא של Terraform:
שינוי של Managed Connection Pooling במכונה
אחרי שמפעילים את Managed Connection Pooling, אפשר להתאים אישית את Managed Connection Pooling בהתאם לצורכי המכונה באמצעות אפשרויות הגדרה מתקדמות. אפשרויות ההגדרה האלה נקראות דגלי מאגר של Managed Connection Pooling. במאמר אפשרויות הגדרה מתקדמות תוכלו לקרוא מידע נוסף על אפשרויות ההגדרה המתקדמות, ערכי ברירת המחדל והטווחים שלהן.
כדי לשנות את אפשרויות ההגדרה המתקדמות של Managed Connection Pooling במכונה:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
מאתרים את המכונה שרוצים להפעיל בה את מאגר החיבורים המנוהל. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
לוחצים על Edit.
בקטע Customize your instance, מרחיבים את Connections.
בקטע Managed connection pool, מרחיבים את Advanced pooling options.
משנים את האפשרויות המתקדמות של מאגר הכתובות שרוצים לעדכן.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud sql instances כדי לשנות את אפשרויות ההגדרה.
gcloud sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה ב-Cloud SQL. -
CONFIGURATION_NAME: השם של אפשרות ההגדרה. רשימה של כל אפשרויות ההגדרה המתקדמות מופיעה במאמר אפשרויות הגדרה מתקדמות. -
CONFIGURATION_VALUE: הערך החדש של אפשרות ההגדרה שנבחרה.
REST v1
כדי לשנות את ההגדרות המתקדמות של Managed Connection Pooling, משתמשים בפקודה הבאה ומגדירים את ConnectionPoolConfig:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"connectionPoolConfig": {
"flags":
[
{
"name": "CONFIGURATION_NAME",
"value":"CONFIGURATION_VALUE"
}
]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
כדי לשנות את ההגדרות המתקדמות של Managed Connection Pooling, משתמשים בפקודה הבאה ומגדירים את ConnectionPoolConfig:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"connectionPoolConfig": {
"flags":
[
{
"name": "CONFIGURATION_NAME",
"value":"CONFIGURATION_VALUE"
}
]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Terraform
כדי לשנות את ההגדרות המתקדמות של מאגר החיבורים המנוהל, משתמשים במשאב Terraform הבא:
השבתת מאגר החיבורים המנוהל במכונה
אפשר להשבית את מאגר החיבורים המנוהל במכונה קיימת באמצעותCloud de Confiance המסוף, ה-CLI של gcloud או Cloud SQL API.
כדי להשבית את מאגר החיבורים המנוהל במכונה:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
מאתרים את המכונה שרוצים להשבית בה את מאגר החיבורים המנוהל. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
לוחצים על Edit.
בקטע Customize your instance, מרחיבים את Connections.
כדי להשבית את Managed Connection Pooling, מבטלים את הסימון בתיבה Enable Managed Connection Pool.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud sql instances כדי להשבית את Managed Connection Pooling.
gcloud sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: השם של המכונה ב-Cloud SQL.
REST v1
כדי להשבית את מאגר החיבורים המנוהל במכונה, משתמשים בפקודה הבאה ומגדירים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"connectionPoolConfig": {
"connectionPoolingEnabled": false
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
כדי להשבית את מאגר החיבורים המנוהל במכונה, משתמשים בפקודה הבאה ומגדירים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"connectionPoolConfig": {
"connectionPoolingEnabled": false
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Terraform
כדי להשבית את מאגר החיבורים המנוהל במכונה, משתמשים במשאב Terraform הבא:
איך בודקים את הסטטוס של מאגר החיבורים המנוהל של מכונה מסוימת
אתם יכולים לראות את הסטטוס של מאגר החיבורים המנוהל של מכונה באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או Cloud SQL API.
כדי לראות את הסטטוס של מאגר החיבורים המנוהל במכונה של מהדורת Cloud SQL Enterprise Plus:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
מאתרים את המכונה שרוצים לראות את סטטוס מאגר החיבורים המנוהל שלה. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
בקטע Connections אפשר לראות אם המאגר המנוהל של החיבורים מופעל או מושבת.
gcloud
כדי לראות את הסטטוס של מאגר החיבורים המנוהל של מכונה, משתמשים בפקודה gcloud sql instances describe:
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: השם של המכונה ב-Cloud SQL.אם המאגר המנוהל של החיבורים מופעל, מוחזרת התגובה הבאה:
connectionPoolingEnabled: true
REST v1
כדי לראות את הסטטוס של מאגר החיבורים המנוהל במכונה של Cloud SQL, משתמשים בפקודה הבאה ומחפשים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט ב- Cloud de Confiance שמכיל את המכונה.
- INSTANCE_NAME: השם של מכונת Cloud SQL. אם במכונה הזו מופעל Private Service Connect, נקודות קצה של Private Service Connect ברשתות VPC יכולות להתחבר אליה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#instance",
"state": "RUNNABLE",
"databaseVersion": "MYSQL_8_0",
"settings": {
"authorizedGaeApplications": [],
"tier": "db-custom-2-7680",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration": {
"authorizedNetworks": [],
"pscConfig": {
"allowedConsumerProjects": [
"ALLOWED_PROJECTS"
],
"pscEnabled": true
},
"ipv4Enabled": false
},
...
"createTime": "2023-06-14T18:48:34.975Z",
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
"pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
"dnsName": "DNS_NAME"
}
REST v1beta4
כדי לראות את הסטטוס של מאגר החיבורים המנוהל במכונה של Cloud SQL, משתמשים בפקודה הבאה ומחפשים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט ב- Cloud de Confiance שמכיל את המכונה.
- INSTANCE_NAME: השם של מכונת Cloud SQL. אם במכונה הזו מופעל Private Service Connect, נקודות קצה של Private Service Connect ברשתות VPC יכולות להתחבר אליה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#instance",
"state": "RUNNABLE",
"databaseVersion": "MYSQL_8_0",
"settings": {
"authorizedGaeApplications": [],
"tier": "db-custom-2-7680",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration": {
"authorizedNetworks": [],
"pscConfig": {
"allowedConsumerProjects": [
"ALLOWED_PROJECTS"
],
"pscEnabled": true
},
"ipv4Enabled": false
},
...
"createTime": "2023-06-14T18:48:34.975Z",
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
"pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
"dnsName": "DNS_NAME"
}
מעקב אחרי מאגר חיבורים מנוהל
אתם יכולים לעקוב אחרי האופן שבו מאגר החיבורים המנוהל פועל במכונות של Cloud SQL, באמצעות המדדים הבאים של מאגר החיבורים המנוהל ב-Cloud SQL:
| שם המדד | תיאור |
|---|---|
| threads | מעקב אחרי מספר השרשורים במאגר החיבורים לפי הסטטוס שלהם. הסטטוסים שכלולים במדד הזה הם:
|
| pending_connection | מספר החיבורים שנמצאים כרגע בתור העבודה. |
| avg_wait_time | הזמן הממוצע שבקשת החיבור ממתינה לשרת. |
למידע נוסף על המדדים האלה, ראו מדדי Cloud SQL. כדי לראות את המדדים האלה במסוף Cloud de Confiance , עיינו במאמר הצגת מדדים בדף הסקירה הכללית של מכונות Cloud SQL.