Kapazität
Mit IBM Cloudant können Sie die Einstellung für die aktuelle Kapazität für den Durchsatz und die bereitgestellte Zielkapazität für den Durchsatz anzeigen, die bereitgestellte Zielkapazität für den Durchsatz festlegen und den aktuellen Verbrauch der verwendeten bereitgestellten Kapazität für den Durchsatz anzeigen.
Weitere Informationen dazu, wie IBM Cloudant Kapazität zuordnet und verwendet und wie die Kapazität in der Benutzerschnittstelle angezeigt und geändert wird, finden Sie unter Bereitgestellte Durchsatzkapazität.
Für die API für Kapazität ist entweder die traditionelle IBM Cloudant-Rolle 'auth admin' erforderlich oder die Rolle 'IAM-Manager' für den Zugriff auf die API-Endpunkte. In den folgenden curl-Beispielen wird der Authentifizierungsaspekt der Einfachheit
halber weggelassen. Weitere Details zur Verwendung beider Authentifizierungstypen finden Sie im Abschnitt Übersicht zur Authentifizierung.
Aktuellen Wert und Zielwert für die bereitgestellte Durchsatzkapazität anzeigen
Zeigen Sie mithilfe einer GET-Anforderung für den Endpunkt /_api/v2/user/capacity/throughput die Menge der für die IBM Cloudant-Instanz bereitgestellten Durchsatzkapazität und den Zielwert für die bereitgestellte Durchsatzkapazität
an. Wenn Sie die Zielkapazität ändern, wird die aktuelle Kapazität asynchron angepasst, um die Zielkapazität zu erreichen. Die Größe der Kapazitätsänderung und die Menge der in der IBM Cloudant-Instanz gespeicherten Daten legen fest, wie lange
es dauert, bis die aktuelle Kapazität und die Zielkapazität übereinstimmen. Die Kapazitätsänderung ist abgeschlossen, wenn die aktuelle Kapazität und die Zielkapazität übereinstimmen.
- Methode
GET- Pfad
/_api/v2/user/capacity/throughput- Antwort
- Aktueller Wert und Zielwert für die Kapazität. Jeder Wert umfasst die Anzahl der Kapazitätsblöcke sowie die Anzahl der Lese- und Schreibvorgänge pro Sekunde und die globalen Abfragen pro Sekunde für die Durchsatzkapazität.
In der folgenden Beispielanforderung werden die aktuelle Kapazität und die Zielkapazität über HTTP abgerufen:
GET /_api/v2/user/capacity/throughput
Sehen Sie sich die folgende Beispielanforderung zum Abrufen der aktuellen Kapazität und der Zielkapazität an:
curl "$SERVICE_URL/_api/v2/user/capacity/throughput"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.CapacityThroughputInformation;
Cloudant service = Cloudant.newInstance();
CapacityThroughputInformation response =
service.getCapacityThroughputInformation().execute().getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.getCapacityThroughputInformation().then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.get_capacity_throughput_information().get_result()
print(response)
getCapacityThroughputInformationOptions := service.NewGetCapacityThroughputInformationOptions()
capacityThroughputInformation, response, err := service.GetCapacityThroughputInformation(getCapacityThroughputInformationOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(capacityThroughputInformation, "", " ")
fmt.Println(string(b))
Das vorherige Go-Beispiel erfordert den folgenden Importblock:
import (
"encoding/json"
"fmt"
"github.com/IBM/cloudant-go-sdk/cloudantv1"
)
Für alle Go-Beispiele muss das Objekt service initialisiert sein. Weitere Informationen finden Sie in den Beispielen im Abschnitt 'Authentifizierung' in der API-Dokumentation.
Die zurückgegebene Struktur enthält die folgenden Felder:
current- Details zur aktuellen Kapazität, die zugeordnet ist; angezeigt werden die Anzahl der Kapazitätsblöcke und die Aufgliederung der Anforderungsklassen für den Durchsatz.
target- Details zur Zielkapazität, die zugeordnet ist; angezeigt werden die Anzahl der Kapazitätsblöcke und die Aufgliederung der Anforderungsklassen für den Durchsatz.
blocks- Die Anzahl der bereitgestellten Kapazitätsblöcke für den Durchsatz, wobei ein Block 100 Lesevorgängen pro Sekunde, 50 Schreibvorgängen pro Sekunde und 5 globalen Abfragen/Sekunde entspricht.
throughput- Aufschlüsselung der spezifischen Anzahl der Lesevorgängen pro Sekunde, Schreibvorgänge pro Sekunden und globalen Abfragen pro Sekunde.
Die folgende JSON-Beispielantwort enthält die aktuelle Kapazität und de Zielkapazität:
{
"current": {
"throughput": {
"read": 500,
"write": 250,
"blocks": 5,
"query": 25
}
},
"target": {
"throughput": {
"read": 1000,
"write": 500,
"blocks": 10,
"query": 50
}
}
}
Zielwert für die bereitgestellte Durchsatzkapazität festlegen
Verwenden Sie einen PUT-Befehl an den Endpunkt /_api/v2/user/capacity/throughput, um den Zielwert für die bereitgestellte Durchsatzkapazität für eine IBM Cloudant-Instanz festzulegen. Wenn Sie die Zielkapazität ändern, wird die
aktuelle Kapazität asynchron angepasst, um die Zielkapazität zu erreichen.
- Methode
PUT- Pfad
/_api/v2/user/capacity/throughput- Antwort
- Die Einstellungen für die aktuelle Kapazität und für die Zielkapazität, einschließlich der Anzahl der Kapazitätsblöcke sowie der Gesamtsummen für Lesevorgänge/Sek., Schreibvorgänge/Sek. und globale Abfragen/Sek.
In der folgenden Beispielanforderung wird die Zielkapazität über HTTP festgelegt:
PUT $SERVICE_URL/_api/v2/user/capacity/throughput
Content-Type: application/json
Im folgenden JSON-Beispielobjekt wird die Zielkapazität festgelegt:
{
"blocks": $NUMBER_OF_BLOCKS
}
Dabei umfasst ein Block 100 Lesevorgänge/Sek., 50 Schreibvorgänge/Sek. und 5 globale Abfragen/Sek. der bereitgestellten Durchsatzkapazität. Das Feld $NUMBER_OF_BLOCKS muss eine Ganzzahl im Bereich von 1 bis 100 sein. Größere Kapazitäten können beim IBM Cloudant-Support angefragt werden.
Sehen Sie sich die folgende Beispielanforderung zum Festlegen der Zielkapazität an:
curl -X PUT "$SERVICE_URL/_api/v2/user/capacity/throughput" -H "Content-Type: application/json" --data '{"blocks": 1}'
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.CapacityThroughputInformation;
import com.ibm.cloud.cloudant.v1.model.PutCapacityThroughputConfigurationOptions;
Cloudant service = Cloudant.newInstance();
PutCapacityThroughputConfigurationOptions options =
new PutCapacityThroughputConfigurationOptions.Builder()
.blocks(1)
.build();
CapacityThroughputInformation response =
service.putCapacityThroughputConfiguration(options).execute().getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.putCapacityThroughputConfiguration({
blocks: 1,
}).then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.put_capacity_throughput_configuration(
blocks=1
).get_result()
print(response)
putCapacityThroughputConfigurationOptions := service.NewPutCapacityThroughputConfigurationOptions(
1,
)
capacityThroughputConfiguration, response, err := service.PutCapacityThroughputConfiguration(putCapacityThroughputConfigurationOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(capacityThroughputConfiguration, "", " ")
fmt.Println(string(b))
Das vorherige Go-Beispiel erfordert den folgenden Importblock:
import (
"encoding/json"
"fmt"
"github.com/IBM/cloudant-go-sdk/cloudantv1"
)
Die zurückgegebene Struktur enthält die folgenden Felder:
current- Gibt die aktuell zugeordnete Kapazität sowie die Anzahl der Kapazitätsblöcke und die Aufgliederung der Durchsatzanforderungsklassen an.
target- Details zur Zielkapazitätsgruppe und zeigt sowohl die Anzahl der Kapazitätsblöcke als auch die Aufgliederung der Durchsatzanforderungen an.
blocks- Die Anzahl der bereitgestellten Durchsatzkapazitätsblöcke (dabei enthält ein Block 100 Lesevorgänge/Sek., 50 Schreibvorgänge/Sek. und 5 globale Abfragen/Sek.).
throughput- Aufschlüsselung der spezifischen Anzahl der Lesevorgängen pro Sekunde, Schreibvorgänge pro Sekunden und globalen Abfragen pro Sekunde.
Die folgende JSON-Beispielantwort enthält die festgelegte Zielkapazität:
{
"current": {
"throughput": {
"read": 500,
"write": 250,
"blocks": 5,
"query": 25
}
},
"target": {
"throughput": {
"read": 1000,
"write": 500,
"blocks": 10,
"query": 50
}
}
}
Aktuelle Nutzung der bereitgestellten Durchsatzkapazität anzeigen
Mithilfe einer GET-Methode für den Endpunkt /_api/v2/user/current/throughput können Sie die aktuelle Nutzung der bereitgestellten Durchsatzkapazität für eine IBM Cloudant-Instanz anzeigen. Die aktuelle Nutzung zeigt die Menge der
Lesevorgänge, Schreibvorgänge und globalen Abfragen für die Instanz in einer bestimmten Sekunde an. Wenn Sie diesen Endpunkt nutzen, empfiehlt es sich, diese Daten kontinuierlich über einen längeren Zeitraum hinweg zu aggregieren, um einen
umfassenderen Überblick über die Durchsatznutzungsmuster einer „ IBM Cloudant “-Instanz zu erhalten.
- Methode
GET- Pfad
/_api/v2/user/current/throughput- Antwort
- Die aktuelle Auslastung der bereitgestellten Durchsatzkapazität, aufgeschlüsselt nach der Anzahl der Lese- und Schreibvorgänge sowie der globalen Abfragen.
In der folgenden Beispielanforderung wird die aktuelle Kapazitätsnutzung über HTTP abgerufen:
GET $SERVICE_URL/_api/v2/user/current/throughput
Sehen Sie sich die folgende Beispielanforderung zum Abrufen der aktuellen Kapazitätsnutzung an:
curl "$SERVICE_URL/_api/v2/user/current/throughput"
import com.ibm.cloud.cloudant.v1.Cloudant;
import com.ibm.cloud.cloudant.v1.model.CurrentThroughputInformation;
Cloudant service = Cloudant.newInstance();
CurrentThroughputInformation response =
service.getCurrentThroughputInformation().execute().getResult();
System.out.println(response);
const { CloudantV1 } = require('@ibm-cloud/cloudant');
const service = CloudantV1.newInstance({});
service.getCurrentThroughputInformation().then(response => {
console.log(response.result);
});
from ibmcloudant.cloudant_v1 import CloudantV1
service = CloudantV1.new_instance()
response = service.get_current_throughput_information().get_result()
print(response)
getCurrentThroughputInformationOptions := service.NewGetCurrentThroughputInformationOptions()
currentThroughputInformation, response, err := service.GetCurrentThroughputInformation(getCurrentThroughputInformationOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(currentThroughputInformation, "", " ")
fmt.Println(string(b))
Das vorherige Go-Beispiel erfordert den folgenden Importblock:
import (
"encoding/json"
"fmt"
"github.com/IBM/cloudant-go-sdk/cloudantv1"
)
Die zurückgegebene Struktur enthält die folgenden Felder:
throughput- Aufschlüsselung der aktuellen Anzahl der Lese- und Schreibvorgänge sowie der globalen Abfragen.
Die folgende JSON-Beispielantwort enthält die aktuell genutzte Kapazität:
{
"throughput": {
"read": 133,
"write": 42,
"query": 13
}
}