Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive
Central de ajuda/ FunctionGraph/ Guia de usuário/ Configuração da função/ Configuração da multi-corrência de instância única

Configuração da multi-corrência de instância única

Atualizado em 2022-11-08 GMT+08:00

Este recurso é suportado apenas pelo FunctionGraph v2.

Visão geral

A multi-concorrência de instância única permite que uma instância processe um número especificado de solicitações simultaneamente. Esse recurso tem as seguintes vantagens:

  • Melhora a eficiência da execução da função e reduz a duração da execução.
  • Reduz a probabilidade de partidas a frio.
  • Reduz o número total de instâncias e economiza recursos.

Cenários de aplicação

Se as solicitações de função levarem muito tempo para aguardar a resposta dos serviços downstream, você poderá configurar a multi-concorrência de instância única para que as solicitações possam ser processadas simultaneamente.

Comparação

Se uma função demorar 5s para ser executada a cada vez e você definir o número de solicitações que podem ser processadas simultaneamente por uma instância como 1, três solicitações precisam ser processadas em três instâncias, respectivamente. Portanto, a duração total da execução é de 15s.

Quando você definir Max. Requests per Instance a 5, se três solicitações forem enviadas, elas serão processadas simultaneamente por uma instância. O tempo total de execução é de 5s.

Quando Max. Requests per Instance por Instância for maior que 1, a concorrência de recursos e a segurança de simultaneidade devem ser consideradas.

Solicitações excessivas precisam esperar um pouco antes de serem processadas. Por exemplo, se o número de solicitações simultâneas de uma única instância for definido como 10, o sistema não retornará um erro imediatamente quando o número de solicitações exceder a capacidade de processamento. Os pedidos excessivos serão processados após um período de tempo.

Tabela 1 Comparação

Item de comparação

Concorrência única de instância única

Multi-concorrência de instância única

Impressão de registração

-

Para imprimir registrações, o Runtime do Node.js usa a função console.info(), o Runtime do Python usa a função print() e o Java Runtime usa a função System.out.println(). Nesse modo, os ID de solicitação atuais são incluídos no conteúdo do registração. No entanto, quando várias solicitações são processadas simultaneamente por uma instância, os ID de solicitação estão incorretas se você continuar a usar as funções anteriores para imprimir registrações. Para resolver esse problema, use a função context.getLogger().registração(). Esse método retém os ID da solicitação separadamente.

Variáveis compartilhadas

Não envolvido.

Modificar variáveis compartilhadas causará erros. A proteção de exclusão mútua é necessária quando você modifica variáveis non-thread-safe durante a gravação da função.

Métricas de monitoramento

Realizar monitoramento com base na situação real.

Sob a mesma carga, o número de instâncias de função diminui significativamente.

Erro de controle de fluxo

Não envolvido.

Quando há muitas solicitações, o código de erro no corpo é FSS.0429, o status no cabeçalho da resposta é 429, e a mensagem de erro é Your request has been controlled by overload sdk, please retry later.

Configurando a Multicorrência de Instância Única

  1. Efetue log-in no Console do FunctionGraph. No painel de navegação, escolha Functions > Function List.
  2. Clique na função a ser configurada para ir para a página de detalhes da função.
  3. Escolha Configuration > Concurrency.
    Defina os parâmetros referindo-se a Tabela 2 e clique em Save.
    Figura 1 Configuração de simultaneidade
    Tabela 2 Descrição

    Parâmetro

    Descrição

    Max. Requests per Instance

    Número de solicitações simultâneas suportadas por uma única instância. Intervalo do valor: 1–100. Para mais detalhes, veja Configuração da multi-corrência de instância única.

    Max. Instances per Function

    Número máximo de instâncias nas quais uma função pode ser executada. –1 (predefinição): A função pode ser executada em qualquer número de instâncias. 0: A função está desativada.

    NOTA:

    As solicitações que excederem a capacidade de processamento das instâncias serão descartadas.

    Erros causados por solicitações excessivas não serão exibidos nos registrações de função. Você pode obter detalhes do erro consultando Configuração da notificação de execução assíncrona.

Restrições de configuração

  • Para funções Java, a multi-concorrência de instância única tem as seguintes restrições:
    • 128 MB de memória: até 25 solicitações simultâneas
    • 256 MB de memória: até 50 solicitações simultâneas
    • 512 MB ou mais de memória: até 100 solicitações simultâneas
  • Para funções Python, os threads em uma instância são vinculados a um núcleo devido ao bloqueio GIL (Global Interpreter Lock) do Python. Como resultado, as solicitações simultâneas só podem ser processadas usando o núcleo único, não vários núcleos. O desempenho de processamento de função não pode ser melhorado mesmo que especificações de recursos maiores estejam configuradas.
  • Para funções Node.js, o processamento de thread único do mecanismo V8 resulta no processamento de solicitações simultâneas usando apenas um único núcleo, não vários núcleos. O desempenho de processamento de função não pode ser melhorado mesmo que especificações de recursos maiores estejam configuradas.

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback