Cria tarefas de teste de estresse.
O Database Autonomy Service (DAS) oferece o recurso de teste de estresse inteligente. Esse recurso ajuda você a verificar se sua instância precisa ser escalada verticalmente para lidar com picos de tráfego de maneira eficaz. Para obter mais informações, consulte Teste de estresse inteligente. Antes de chamar esta operação de API, certifique-se de que suas instâncias de banco de dados atendam aos seguintes requisitos:
A instância source é uma das seguintes: instância ApsaraDB RDS for MySQL High-availability Edition, instância ApsaraDB RDS for MySQL Enterprise Edition, instância PolarDB for MySQL Cluster Edition ou instância PolarDB for MySQL X-Engine.
A instância de destino é uma instância ApsaraDB RDS for MySQL ou uma instância PolarDB for MySQL.
As instâncias source e de destino estão conectadas ao DAS. Para saber como conectar instâncias de banco de dados ao DAS, consulte Conectar uma instância de banco de dados da Alibaba Cloud ao DAS.
O DAS Professional Edition está ativado tanto na instância source quanto na instância de destino. Para mais detalhes, veja Notas de uso do DAS Professional Edition.
Parâmetros da solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | CreateCloudBenchTasks | A operação que você deseja executar. Defina o valor como CreateCloudBenchTasks. |
| TaskType | String | Sim | pressure test | O tipo da tarefa de teste de estresse. Valor padrão: pressure test. Valores válidos:
|
| SrcInstanceId | String | Sim | rm-2ze1jdv45i7l6**** | O ID da instância source. A instância deve ser uma instância ApsaraDB RDS for MySQL ou uma instância PolarDB for MySQL. Chame a operação GetInstanceInspections para consultar o ID. Nota Se você definir DstType como Instance, será necessário especificar este parâmetro. |
| Description | String | Sim | test-das-bench-0501 | A descrição da tarefa de teste de estresse. |
| SrcPublicIp | String | Não | None | Um parâmetro oculto. |
| DstInstanceId | String | Não | rm-2ze1jdv45i7l6**** | O ID da instância de destino. A instância deve ser uma instância ApsaraDB RDS for MySQL ou uma instância PolarDB for MySQL. Chame a operação GetInstanceInspections para consultar o ID. Nota Se você definir DstType como Instance, será necessário especificar este parâmetro. |
| GatewayVpcId | String | Não | vpc-t4nsnwvpbc1h76ja4**** | O ID da virtual private cloud (VPC) onde o database gateway (DBGateway) está implantado. Nota Se você definir ClientType como ECS, será necessário especificar este parâmetro. |
| GatewayVpcIp | String | Não | 172.30.XX.XX | O endereço IP ou nome de domínio do DBGateway. Nota Se você definir ClientType como ECS, será necessário especificar este parâmetro. |
| ClientType | String | Sim | ECS | O tipo de cliente de teste de estresse. Valores válidos:
|
| RequestStartTime | String | Não | 1608888296000 | A hora de início da tarefa de teste de estresse. Especifique a hora no formato de timestamp UNIX. Unidade: milissegundos. |
| RequestEndTime | String | Não | 1608888296001 | A hora de término da tarefa de teste de estresse. Especifique a hora no formato de timestamp UNIX. Unidade: milissegundos. |
| RequestDuration | String | Não | 86400000 | A duração da tarefa de teste de estresse durante a qual o tráfego é capturado da instância source. Unidade: milissegundos. |
| Rate | String | Não | 1 | A taxa na qual o tráfego capturado da instância source é reproduzido na instância de destino. O valor deve ser um número inteiro positivo. Valores válidos: 1 a 30. Valor padrão: 1. |
| SmartPressureTime | String | Não | 86400000 | A duração da tarefa de teste de estresse durante a qual o tráfego é gerado na instância de destino. Unidade: milissegundos. Nota Se você definir TaskType como smart pressure test, será necessário especificar este parâmetro. |
| DtsJobClass | String | Não | medium | A especificação da tarefa de migração do Data Transmission Service (DTS). Chame a operação DescribeCloudbenchTask para consultar a especificação. Nota É necessário migrar os dados básicos da instância source para a instância de destino antes de iniciar uma tarefa de teste de estresse. Ao criar uma tarefa de migração do DTS, especifique este parâmetro. |
| DtsJobId | String | Não | 23127 | O ID da tarefa de migração do DTS. Chame a operação ConfigureDtsJob para consultar o ID. Nota Após criar uma tarefa de migração do DTS no console do DTS, especifique este parâmetro. |
| SrcSuperAccount | String | Não | admin | O nome da conta privilegiada da instância source. Defina o valor como admin. Nota Se você definir DstType como Instance, será necessário especificar este parâmetro. |
| SrcSuperPassword | String | Não | test123 | A senha da conta privilegiada da instância source. Nota Se você definir DstType como Instance, será necessário especificar este parâmetro. |
| DstSuperAccount | String | Não | root | O nome da conta privilegiada da instância de destino. |
| DstSuperPassword | String | Não | test123 | A senha da conta privilegiada da instância de destino. |
| DstType | String | Não | Instance | O tipo de identificador usado para indicar a instância de destino. Valor padrão: Instance. Valores válidos:
|
| DstConnectionString | String | Não | rm-de21209****.mysql.rds.aliyuncs.com | O endpoint da instância de destino. O endpoint especificado deve ser de uma instância ApsaraDB RDS for MySQL ou de uma instância PolarDB for MySQL. Nota Este parâmetro só tem efeito quando o parâmetro DstType está definido como ConnectionString. |
| DstPort | String | Não | 3306 | O número da porta da instância de destino. Nota Este parâmetro só tem efeito quando o parâmetro DstType está definido como ConnectionString. |
| WorkDir | String | Não | /tmp/bench/ | O diretório temporário gerado para o teste de estresse. |
| BackupId | String | Não | 229132 | O ID do conjunto de backup. Chame a operação DescribeBackups para consultar o ID. |
| BackupTime | String | Não | 2021-04-23T13:22:14Z | A hora em que o backup começa. Especifique a hora no padrão ISO 8601, no formato yyyy-MM-ddTHH:mm:ssZ. A hora deve estar em UTC. |
| Amount | String | Não | 1 | O número total de tarefas de teste de estresse que você deseja criar. Valores válidos: 0 a 30. Valor padrão: 1. |
| EndState | String | Não | WAIT_TARGET | O estado que especifica a última operação realizada para a tarefa de teste de estresse. Valores válidos:
Nota Quando o estado de uma tarefa de teste de estresse muda para o estado especificado pelo parâmetro EndState, a tarefa de teste de estresse é considerada concluída. |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| Code | String | 200 | O código de status retornado. |
| Message | String | Successful | A mensagem retornada para a solicitação. Nota Se a solicitação for bem-sucedida, Successful será retornado. Se a solicitação falhar, uma mensagem de erro contendo um código de erro será retornada. |
| RequestId | String | B6D17591-B48B-4D31-9CD6-9B9796B2**** | O ID da solicitação. |
| Success | String | true | Indica se a solicitação foi bem-sucedida. Valores válidos:
|
| Data | Array of String | "Data": { "total": 1, "list":[...] }, "Code": 200, "Success": true } | As informações detalhadas, como o código de status HTTP e o número de entradas retornadas. |
Exemplos
Exemplos de solicitações
http(s)://das.cn-shanghai.aliyuncs.com/?Action=CreateCloudBenchTasks
&TaskType=pressure test
&SrcInstanceId=rm-2ze1jdv45i7l6****
&Description=test-das-bench-0501
&SrcPublicIp=None
&DstInstanceId=rm-2ze1jdv45i7l6****
&GatewayVpcId=vpc-t4nsnwvpbc1h76ja4****
&GatewayVpcIp=172.30.XX.XX
&ClientType=ECS
&RequestStartTime=1608888296000
&RequestEndTime=1608888296001
&RequestDuration=86400000
&Rate=1
&SmartPressureTime=86400000
&DtsJobClass=medium
&DtsJobId=23127
&SrcSuperAccount=admin
&SrcSuperPassword=test123
&DstSuperAccount=root
&DstSuperPassword=test123
&DstType=Instance
&DstConnectionString=rm-de21209****.mysql.rds.aliyuncs.com
&DstPort=3306
&WorkDir=/tmp/bench/
&BackupId=229132
&BackupTime=2021-04-23T13:22:14Z
&Amount=1
&EndState=WAIT_TARGET
&<Common request parameters>
Exemplos de respostas de sucesso
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateCloudBenchTasksResponse>
<Code>200</Code>
<Message>Successful</Message>
<RequestId>B6D17591-B48B-4D31-9CD6-9B9796B2****</RequestId>
<Success>true</Success>
<Data>"Data": { "total": 1, "list":[...] }, "Code": 200, "Success": true }</Data>
</CreateCloudBenchTasksResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"Code" : "200",
"Message" : "Successful",
"RequestId" : "B6D17591-B48B-4D31-9CD6-9B9796B2****",
"Success" : "true",
"Data" : [ "\"Data\": { \"total\": 1, \"list\":[...] }, \"Code\": 200, \"Success\": true }" ]
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
400 |
InvalidParams |
The request parameters are invalid. |
A mensagem de erro retornada porque os parâmetros de solicitação especificados são inválidos. |
Para obter uma lista de códigos de erro, visite o API Error Center.