Capacità

IBM Cloudant consente di: visualizzare l'impostazione della capacità di throughput provisionata corrente e di destinazione, impostare l'impostazione della capacità di throughput provisionata di destinazione e visualizzare il consumo attuale della capacità di throughput provisionata utilizzata.

Per ulteriori informazioni, vedi capacità produttiva fornita su come IBM Cloudant assegna e utilizza la capacità e su come visualizzare e modificare la capacità nell'IU.

L'API Capacity richiede il ruolo di amministratore di auth legacy IBM Cloudant o il ruolo di IAM Manager per accedere agli endpoint API. I seguenti esempi curl omessa l'aspetto di autenticazione per semplicità. Per ulteriori dettagli sull'utilizzo di entrambi i tipi di autenticazione, consultare la sezione dedicata alla panoramica sull'autenticazione.

Visualizza l'impostazione della capacità di throughput del throughput attuale e di destinazione

Utilizzare un GET all'endpoint /_api/v2/user/capacity/throughput per vedere quale quantità di capacità di throughput provisita viene allocata all'istanza IBM Cloudant e qual è la capacità di throughput provisionale di destinazione. Quando si modifica la capacità di destinazione, la capacità corrente cambia in modo asincrono per soddisfare la capacità di destinazione. La dimensione del cambio di capacità e la quantità di dati che vengono memorizzati nell'istanza IBM Cloudant determina il tempo impiegato prima della corrispondenza delle capacità attuali e di destinazione. La modifica della capacità è completa quando la capacità corrente e di destinazione è la stessa.

Metodo
GET
Percorso
/_api/v2/user/capacity/throughput
Risposta
Sia l'impostazione della capacità di corrente che di destinazione. Ognuno include il numero di blocchi di capacità e le letture totali / sec, le scritture / sec e le query globali / sec di capacità di throughput.

Vedere il seguente esempio di richiesta per recuperare la capacità attuale e quella di destinazione utilizzando HTTP:

GET /_api/v2/user/capacity/throughput

Consultare la seguente richiesta di esempio per richiamare la capacità corrente e di destinazione:

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))

L'esempio Go precedente richiede il seguente blocco di importazione:

import (
   "encoding/json"
   "fmt"
   "github.com/IBM/cloudant-go-sdk/cloudantv1"
)

Tutti gli esempi Go richiedono l'iniziazione dell'oggetto service. Per ulteriori informazioni, consultare la sezione di autenticazione della documentazione dell'API per gli esempi.

La struttura restituita include i seguenti campi:

current
Dettagli la capacità corrente che viene allocata e mostra sia il numero di blocchi di capacità che la suddivisione delle classi di richiesta di throughput.
target
Dettagli la capacità di destinazione che viene allocata e mostra sia il numero di blocchi di capacità che la suddivisione delle classi di richiesta di throughput.
blocks
Numero di blocchi di capacità di throughput provisionali, dove un blocco è di 100 letture / sec, 50 scritture / sec e 5 query globali / sec.
throughput
Ripartizione del numero specifico di letture / sec, scritture / sec e query globali / sec.

Consultare la seguente risposta JSON di esempio con la capacità corrente e di destinazione:

{
  "current": {
    "throughput": {
      "read": 500,
      "write": 250,
      "blocks": 5,
      "query": 25
    }
  },
  "target": {
    "throughput": {
      "read": 1000,
      "write": 500,
      "blocks": 10,
      "query": 50
    }
  }
}

Impostare l'impostazione della capacità di throughput di provisioning di destinazione

Utilizzare un PUT all'endpoint /_api/v2/user/capacity/throughput per impostare la capacità di throughput provisionale di destinazione per un'istanza IBM Cloudant. Quando si modifica la capacità di destinazione, la capacità corrente cambia in modo asincrono per soddisfare la capacità di destinazione.

Metodo
PUT
Percorso
/_api/v2/user/capacity/throughput
Risposta
Sia l'impostazione della capacità corrente che quella di destinazione, incluso il numero di blocchi di capacità e le letture totali / sec, le scritture / sec e le query globali / sec.

Vedere il seguente esempio di richiesta per impostare la capacità di destinazione tramite HTTP:

PUT $SERVICE_URL/_api/v2/user/capacity/throughput
Content-Type: application/json

Consultare il seguente esempio JSON oggetto per impostare la capacità di destinazione:

{
  "blocks": $NUMBER_OF_BLOCKS
}

Qui un blocco è composto da 100 letture / sec, 50 scritture / sec e 5 query globali / sec di capacità di throughput di provisioned. Il campo " $NUMBER_OF_BLOCKS " deve contenere un numero intero compreso tra 1 e 100. Dimensioni di capacità maggiori possono essere ottenute contattando IBM Cloudant supporto.

Consultare la seguente richiesta di esempio per impostare la capacità di destinazione:

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))

L'esempio Go precedente richiede il seguente blocco di importazione:

import (
   "encoding/json"
   "fmt"
   "github.com/IBM/cloudant-go-sdk/cloudantv1"
)

La struttura restituita include i seguenti campi:

current
Dettagli la capacità corrente che viene allocata e mostra sia il numero di blocchi di capacità che la suddivisione delle classi di richieste di throughput.
target
Dettagli la capacità di destinazione impostata e mostra sia il numero di blocchi di capacità che la suddivisione delle classi di richieste di throughput.
blocks
Numero di blocchi di capacità di throughput provisionali, dove il blocco è di 100 letture / sec, 50 scritture / sec e 5 query globali / sec.
throughput
Una suddivisione del numero specifico di letture / sec, scritture / sec e query globali / sec.

Consultare la seguente risposta JSON di esempio con la serie di capacità di destinazione:

{
  "current": {
    "throughput": {
      "read": 500,
      "write": 250,
      "blocks": 5,
      "query": 25
    }
  },
  "target": {
    "throughput": {
      "read": 1000,
      "write": 500,
      "blocks": 10,
      "query": 50
    }
  }
}

Visualizza il consumo corrente di capacità di throughput provisita

Utilizzare un metodo GET all'endpoint /_api/v2/user/current/throughput per vedere il consumo corrente di capacità di throughput provisita per un'istanza IBM Cloudant. Il consumo corrente mostra le quantità di letture, scritture e query globali condotte contro l'istanza per un dato secondo. Quando si usa questo endpoint, è buona norma aggregare questi dati in modo continuo nel tempo per ottenere una visione più completa dei modelli di consumo del throughput di un'istanza IBM Cloudant.

Metodo
GET
Percorso
/_api/v2/user/current/throughput
Risposta
L'utilizzo corrente della capacità produttiva fornita utilizzata, suddiviso per numero di letture, scritture e query globali.

Vedere il seguente esempio di richiesta per recuperare il consumo attuale di capacità tramite HTTP:

GET $SERVICE_URL/_api/v2/user/current/throughput

Consulta la seguente richiesta di esempio per richiamare l'attuale consumo di capacità:

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))

L'esempio Go precedente richiede il seguente blocco di importazione:

import (
   "encoding/json"
   "fmt"
   "github.com/IBM/cloudant-go-sdk/cloudantv1"
)

La struttura restituita include i seguenti campi:

  • throughput- Suddivisione del numero corrente di letture, scritture e query globali utilizzate.

Consulta la seguente esempio di risposta JSON dell'attuale consumo di capacità:

{
  "throughput": {
    "read": 133,
    "write": 42,
    "query": 13
  }
}