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
Nesta página

Mostrar todos

Central de ajuda/ Elastic Volume Service/ Perguntas frequentes/ Desempenho/ Como testar o desempenho do meu disco?

Como testar o desempenho do meu disco?

Atualizado em 2023-12-28 GMT+08:00

Precauções

No teste de desempenho do disco, se o número do setor do começo não é 4-KiB alinhado, o desempenho do disco será muito afetado. Certifique-se de que o número do setor inicial esteja alinhado com 4-KiB antes de iniciar o teste.

Para testar o desempenho de um disco compartilhado, os seguintes requisitos devem ser atendidos:
  • O disco compartilhado deve estar conectado a vários servidores (ECSs ou BMSs).
  • Se o disco compartilhado estiver conectado a vários ECSs, esses ECSs deverão pertencer ao mesmo grupo de ECSs de antiafinidade.

    Se esses ECSs não atenderem ao requisito de antiafinidade, o disco compartilhado não poderá atingir o desempenho ideal.

O processo de teste para Windows e Linux é diferente.

Se os resultados do teste não atenderem às suas expectativas, consulte Por que meu teste de desempenho de disco usando fio tem resultados incorretos?

Windows

A maneira como você testa o desempenho do disco depende do sistema operacional do servidor. Esta seção usa o Windows 7 Professional 64 bits como exemplo. Para outros sistemas operacionais de Windows, consulte as documentações correspondentes do sistema operacional.

Instale a ferramenta de medição de desempenho Iometer antes do teste. Você pode obter a ferramenta em http://www.iometer.org/.

  1. Faça logon no servidor.
  2. Pressione win+R para abrir a janela Run. Digite msinfo32 e clique em OK.

    A janela de informações do sistema é exibida.

  3. Escolha components > storage > disks. No painel direito, veja o deslocamento da partição.

    • Se 4096 puder ser dividido pelo valor do parâmetro, a partição estará alinhada com 4-KiB. Vá para 4.
    • Se 4096 não puder ser dividido pelo valor do parâmetro, a partição não estará alinhada a 4-KiB. Certifique-se de alinhamento de 4-KiB para a partição antes de continuar o teste.

      Se você excluir a partição e selecionar outro número de setor inicial para alinhamento de 4-KiB, você perderá todos os dados nessa partição. Tenha cuidado ao realizar esta operação.

  4. Use o Iometer para testar o desempenho do disco. Para obter detalhes, consulte a documentação do produto de Iometer.

    Quando o IOPS do disco e a taxa de transferência são testados, as configurações de parâmetro para Iometer e fio são as mesmas. Para mais detalhes, consulte Tabela 1.

    O exemplo a seguir usa o Iometer para testar o desempenho do disco.

    1. Defina o fluxo de trabalho.

    2. Defina o tempo de execução do teste.

      Neste exemplo, o tempo de execução do teste é ajustado a 10 minutos, com 60 segundos de tempo de aceleração. O desempenho do disco é testado depois que as gravações são estáveis.

    3. Defina o tamanho do bloco de dados e a política de leitura/gravação. Neste exemplo, o tamanho do disco é definido como 64 KiB, a política é 100% de gravação sequencial.

    4. Veja os resultados do teste.

Linux

Se você usar uma versão antiga do sistema operacional Linux, por exemplo o CentOS 6.5, e executar fdisk para criar partições, o número padrão do setor de início não será alinhado com 4-KiB, o que afetará muito o desempenho do teste. Por esta razão, se tal sistema operacional for usado, é aconselhável selecionar um novo número de setor inicial, um que esteja alinhado com 4-KiB, ao criar partições.

A maneira como você testa o desempenho do disco depende do sistema operacional do servidor. Esta seção usa o CentOS 7.2 de 64 bit como um exemplo. Para outros sistemas operacionais de Linux, consulte as documentações correspondentes do sistema operacional.

Instale a ferramenta de medição de desempenho, fio, antes do teste.

  1. Efetue logon no servidor e alterne para o usuário root.
  2. Antes de iniciar o teste, execute o seguinte comando para verificar se o número do setor inicial está alinhado com 4-KiB:

    fdisk -lu

    Informação semelhante à seguinte foi exibida:
    [root@ecs-centos sdc]# fdisk -lu
    
    Disk /dev/xvda: 10.7 GiB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x7db77aa5
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/xvda1   *        2048    20968919    10483436   83  Linux
    
    Disk /dev/xvdb: 10.7 GiB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/xvdc: 53.7 GiB, 53687091200 bytes, 104857600 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x3cf3265c
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/xvdc1            2048    41943039    20970496   83  Linux
    • Se 8 pode ser dividido pelo número do setor inicial, o número é 4-KiB alinhado. Vá para 3.
    • Se 8 não pode ser dividido pelo número do setor inicial, o número não está alinhado com 4-KiB. Exclua a partição e selecione um número de setor inicial alinhado com 4-KiB para a nova partição antes de continuar o teste.

      Se você excluir a partição e selecionar outro número de setor inicial para alinhamento de 4-KiB, você perderá todos os dados nessa partição. Tenha cuidado ao realizar esta operação.

  3. Execute os seguintes comandos e use fio para testar o desempenho do disco:

    • Para testar IOPS de gravação aleatória, execute o seguinte comando: fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt-name=Rand_Write_IOPS_Test
    • Para testar IOPS de leitura aleatória, execute o seguinte comando: fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Read_IOPS_Test
    • Para testar a taxa de transferência de gravação, execute o seguinte comando: fio -direct=1 -iodepth=32 -rw=write -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Write_BandWidth_Test
    • Para testar a taxa de transferência de leitura, execute o seguinte comando: fio -direct=1 -iodepth=32 -rw=read -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Read_BandWidth_Test
    • Para testar a latência de leitura aleatória, execute o seguinte comando: fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Read_LATE_Test
      • Ao usar fio para executar um teste de desempenho de disco bruto, certifique-se de que nenhuma partição e sistema de arquivos tenham sido criados no disco e que não haja dados armazenados no disco. Ou, o teste de disco bruto danificará o sistema de arquivos e os dados no disco se tornarão somente leitura. Nesse caso, sua única opção será excluir o disco e comprar um novo para continuar o teste.
      • Não execute o teste em um disco com dados de serviço nele. Se tal teste é uma obrigação, você é aconselhado a realizar o teste da seguinte forma:
        • Faça backup dos dados do disco antes do teste, pois você pode danificar os dados no disco.
        • Especifique um arquivo, por exemplo -filename=/opt/fiotest/fiotest.txt, para testar o desempenho do sistema de arquivos.

      Tabela 1 lista os parâmetros do teste fio.

      Tabela 1 Descrição do parâmetro

      Parâmetro

      Descrição

      direct

      Define se a I/O direta é usada.

      • Definido como 0: I/O armazenada em buffer é usada.
      • Definido como 1: I/O direta é usada.

      iodepth

      Define a profundidade da fila de I/O.

      Essa profundidade de fila refere-se à profundidade de fila de cada thread, independentemente de um ou vários threads serem usados no teste. Total de I/O concorrente de fio = iodepth x numjobs Exemplos:

      • Se houver uma única thread e -iodepth=32, a profundidade da fila de I/O deste thread é 32 e o total de I/Os concorrentes do fio é 32 (32 x 1).
      • Se houver três threads e -iodepth=32, a profundidade da fila de I/O de cada thread é 32 e o total de I/Os concorrentes do fio é 96 (32 x 3).

      rw

      Define a política de leitura/gravação de teste.

      • randread: leitura aleatória
      • randwrite: gravação aleatória
      • read: leitura sequencial
      • write: gravação sequential
      • randrw: leitura/gravação aleatória mista

      ioengine

      Define como o fio entrega a solicitação de I/O (síncrona ou assíncrona).

      • I/O síncrona: apenas uma solicitação de I/O é entregue por vez, e a resposta é retornada após o kernel ter processado a solicitação. Dito isso, a profundidade da fila de I/O de thread único é sempre menor que 1, e o processamento simultâneo de vários threads pode ser usado para lidar com esses problemas. Normalmente, 16 a 32 threads de trabalho simultâneos ocupam totalmente a profundidade da fila de I/O.
      • I/O assíncrona: múltiplas solicitações de I/O são entregues usando o libaio por vez. Aguarde a conclusão do processo e reduza os tempos de interação para melhorar a eficiência.

      bs

      Define o tamanho do bloco de I/O. A unidade pode ser KiB, Kb, MiB e Mb, e o valor padrão é 4 KiB.

      size

      Define a quantidade de dados processados pela I/Os de teste. Se parâmetros, como runtime, não forem especificados, o teste terminará quando fio tiver processado toda a quantidade de dados especificada.

      O valor pode ser um número com uma unidade ou porcentagem. Um número com uma unidade indica a quantidade de dados de leitura/gravação, por exemplo size=10G, indicando uma quantidade de dados de leitura/gravação de 10 GiB. Uma porcentagem indica a proporção da quantidade de dados de leitura/gravação em relação ao tamanho total dos arquivos, por exemplo, size=20%, indicando que a quantidade de dados de leitura/gravação ocupa 20% do espaço total do arquivo.

      numjobs

      Define o número de threads concorrentes.

      runtime

      Define o tempo do teste.

      Se esse parâmetro não for especificado, o teste terminará até que a quantidade de dados especificada seja processada pelo tamanho do bloco definido usando o parâmetro size.

      group_reporting

      Define o modo de exibição do resultado do teste. O valor do parâmetro exibe as estatísticas em um único encadeamento, em vez de todas as tarefas.

      filename

      Define o nome do arquivo ou dispositivo de teste.

      • Se um arquivo for especificado, o desempenho do sistema de arquivos será testado. Exemplo: -filename=/opt/fiotest/fiotest.txt
      • Se um nome de dispositivo for especificado, o desempenho do disco bruto é testado. Exemplo: -filename=/dev/vdb
        AVISO:

        Se o teste é executado em um disco já tem partições e sistemas de arquivos criados, bem como dados sobre ele, parâmetro de usuário filename para especificar um arquivo para que o sistema de arquivos original não é danificado e os dados não são substituídos.

      name

      Define o nome da tarefa de teste.

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