Pourquoi un hôte Red Hat a-t-il de faibles performances de lecture lors d'un test de performances d'écriture à l'aide d'une commande dd?

8 0 0 0

Question

In a storage system, eight NL-SAS disks form a RAID 6 group and LUNs are created on it. The default prefetch policy is intelligent prefetch, and the write policy adopts write back with mirroring. A dd command is executed on a Red Hat host to test the performance of reading data from raw LUNs mapped from the storage system.

en-us_image_0067058572.jpg

The command output indicates that the host has low read performance (only about 150 MB/s). Why?

Answer

Cause:

On the storage array side, a user views the LUN performance data and finds that I/O pressure on the LUNs is light with only 1024 IOPS. This fault is not caused by a performance bottleneck on the storage array.

en-us_image_0067058569.jpg

Solution:

Perform the following steps to optimize the performance:

  1. Log in to the Red Hat host as user root, and run the dd if=/dev/sds of=/dev/null bs=256K command to set the block size.


    en-us_image_0067058069.jpg


  2. Run the dd if=/dev/sds of=/dev/null bs=256K iflag=direct command to set the I/O mode to direct I/O (Set an O_DIRECT flag when starting a block device).


    en-us_image_0067058479.jpg


Supplementary Information: Optimization Methods at the Linux Block Device Layer

  • Changing block device scheduling algorithms: Run the echo noop /sys/block/sd*/queue/scheduler command, where sd* can be sdcsdd, or sds, depending on your actual conditions.

    Application scenario: In most existing cases, the scheduling algorithms of host block devices are set to noop, so that I/O sequencing and consolidation can be implemented on the storage systems rather than the host block devices.

  • Adjusting prefetch policies: Modify read_ahead_kb in the command /sys/block/sd*/queue/read_ahead_kb.

    Application scenario: For random services, services with a low hit ratio, and DIRECT IOx, set a small value for read_ahead_kb. For services with sequential small I/Os, set a large value for read_ahead_kb.

  • Adjusting the maximum I/O size in block devices: Run the max_sectors_kb command to adjust the maximum size, which is 1024 KB by default.

    Application scenario: When large I/Os occur, you can adjust the maximum I/O size to prevent large I/Os from being split at the block device layer.

  • Modifying the block device queue depth: Run the /sys/block/sd*/queue/nr_requests command.

    Application scenario: When block devices are under heavy pressure, the block device queue depth can be modified to avoid a performance bottleneck.

  • Setting the direct I/O mode: (Set an O_DIRECT flag when starting a block device.) Run the dd oflag/iflag=direct if=/dev/sd* of=/dev/nullbs=512 command.

    Application scenario: This optimization method applies to applications with cache resources such as databases, because direct I/Os do not pass through file system buffers and therefore do not occupy any free memory in systems.

Applicable Versions

This fault occurs on the host side. The solution provided in this section is applicable to all storage products.



  • x
  • Standard:

Commentaire

envoyer
Connectez-vous pour répondre. Se connecter | Enregistrer

Remarque Remarque : Afin de protéger vos droits et intérêts légitimes, ceux de la communauté et des tiers, ne divulguez aucun contenu qui pourrait présenter des risques juridiques pour toutes les parties. Le contenu interdit comprend, sans toutefois s'y limiter, le contenu politiquement sensible, le contenu lié à la pornographie, aux jeux d'argent, à l'abus et au trafic de drogues, le contenu qui peut divulguer ou enfreindre la propriété intellectuelle d'autrui, y compris les secrets professionnels, les marques commerciales, les droits d'auteur et les brevets, ainsi que la vie privée personnelle. Ne partagez pas votre nom d'utilisateur ou votre mot de passe avec d'autres personnes. Toutes les opérations effectuées à partir de votre compte seront considérées comme vos propres actions, et toutes les conséquences en découlant vous seront imputées. Pour plus de détails, voir « Politique de confidentialité ».
Si le bouton de la pièce-jointe n'est pas disponible, mettez à jour Adobe Flash Player à la dernière version.
Connectez-vous pour participer à la communication et au partage

Connectez-vous pour participer à la communication et au partage

S'identifier