בדף הזה מוסבר איך להפעיל, להגדיר ולנטר את התכונה 'ניהול מאגר חיבורים' במופעי Cloud SQL.
ניהול מאגר חיבורים מאפשר לכם להרחיב את עומסי העבודה על ידי אופטימיזציה של ניצול המשאבים וזמן האחזור של החיבורים למכונות באמצעות מאגר חיבורים. מידע מפורט על Managed Connection Pooling ועל אופן השימוש בו במופעים זמין במאמר סקירה כללית על Managed Connection Pooling.
לפני שמתחילים
- מוודאים שהמופע עומד בכל הדרישות לשימוש בניהול מאגר חיבורים.
- אם אתם משתמשים ב-ה-CLI של gcloud, ודאו שגרסת ה-CLI של gcloud היא
515.0.0ואילך.
הפעלת ניהול מאגר חיבורים
אפשר להפעיל את התכונה 'ניהול מאגר חיבורים' למופע בזמן היצירה שלו, או לערוך מופע קיים כדי להפעיל אותה.
הפעלת ניהול מאגר חיבורים במופע חדש
כדי ליצור מופע חדש עם הפעלה של Managed Connection Pooling, אפשר לעיין במאמר בנושא יצירת מופעים. אפשר להפעיל את התכונה 'ניהול מאגר חיבורים' למופע חדש רק באמצעות ה-CLI של gcloud או Cloud SQL API.
הפעלת ניהול מאגר חיבורים במופע קיים
כדי להפעיל את התכונה 'ניהול מאגר חיבורים' במופע קיים:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
מאתרים את המופע שרוצים להפעיל בו את התכונה 'ניהול מאגר חיבורים'. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
לוחצים על Edit.
בקטע התאמה אישית של המופע, מרחיבים את החיבורים.
כדי להפעיל את האפשרות 'ניהול מאגר חיבורים', מסמנים את התיבה הפעלת ניהול מאגר חיבורים.
לוחצים על 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 עבור מופע:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
מאתרים את המופע שרוצים להפעיל בו את התכונה 'ניהול מאגר חיבורים'. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
לוחצים על Edit.
בקטע התאמה אישית של המופע, מרחיבים את החיבורים.
בקטע 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 (ניהול מאגר חיבורים)
Advanced configurations (הגדרות מתקדמות)
משתמשים בפקודה הבאה ומגדירים את 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 (ניהול מאגר חיבורים)
Advanced configurations (הגדרות מתקדמות)
משתמשים בפקודה הבאה ומגדירים את 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
כדי לשנות את ההגדרות המתקדמות של Managed Connection Pooling, משתמשים במשאב Terraform הבא:
השבתת מאגר חיבורים מנוהל למופע
אפשר להשבית את התכונה 'ניהול מאגר חיבורים' במופע קיים באמצעות מסוףGoogle Cloud , ה-CLI של gcloud או Cloud SQL API.
כדי להשבית את התכונה 'ניהול מאגר חיבורים' במופע:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
מאתרים את המופע שרוצים להשבית בו את התכונה 'ניהול מאגר חיבורים'. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
לוחצים על Edit.
בקטע התאמה אישית של המופע, מרחיבים את החיבורים.
כדי להשבית את ניהול מאגר החיבורים, מבטלים את הסימון בתיבה הפעלת ניהול מאגר החיבורים.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud sql instances כדי להשבית את ניהול מאגר החיבורים.
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 הבא:
איך רואים את הסטטוס של Managed Connection Pooling במכונה
אפשר לראות את הסטטוס של ניהול מאגר חיבורים במופע באמצעות מסוף Google Cloud , ה-CLI של gcloud או Cloud SQL API.
כדי לראות את הסטטוס של Managed Connection Pooling במופע של Cloud SQL Enterprise Plus Edition, צריך לבצע את הפעולות הבאות:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
מחפשים את המופע שרוצים לראות את הסטטוס של Managed Connection Pooling שלו. כדי לפתוח את דף הסקירה הכללית של המכונה, לוחצים על שם המכונה.
בקטע Connections (חיבורים) אפשר לראות אם האפשרות Managed Connection Pooling (ניהול מאגר חיבורים) מופעלת או מושבתת.
gcloud
כדי להציג את הסטטוס של Managed Connection Pooling (איגום חיבורים מנוהל) של מופע, משתמשים בפקודה gcloud sql instances describe:
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: השם של מכונת Cloud SQL.אם התכונה 'ניהול מאגר חיבורים' מופעלת, התגובה הבאה מוחזרת:
connectionPoolingEnabled: true
REST v1
כדי לראות את הסטטוס של Managed Connection Pooling במכונה של Cloud SQL, מריצים את הפקודה הבאה ומחפשים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע.
- 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
כדי לראות את הסטטוס של Managed Connection Pooling במכונה של Cloud SQL, מריצים את הפקודה הבאה ומחפשים את connectionPoolingEnabled:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע.
- 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. כדי לראות את המדדים האלה באמצעות מסוף Google Cloud , אפשר לעיין במאמר הצגת מדדים בדף הסקירה הכללית של מופע Cloud SQL.