Linux; Qu'est-ce que stripe_cache_size et que fait-il?

10

Je construis actuellement un RAID logiciel sous Linux en utilisant l' mdadmutilitaire et j'ai lu quelques articles qui décrivent comment augmenter la valeur de stripe_cache_size pour ce RAID et comment calculer une valeur appropriée pour stripe_cache_size.

J'ai augmenté le mien à 16384 et mon taux de synchronisation actuel sur un nouveau RAID5 dans / proc / mdstat est passé de 71065K / sec à 143690K / sec (doublé!), Ce qui est une bonne nouvelle. Je vois également la correspondance et l'augmentation attendue de l'utilisation de la RAM, mais je ne trouve aucune documentation sur ce que ce paramètre fait et comment il fonctionne.

Cela semble être une sorte de cache pour le RAID qui existe dans la RAM. C'est tout ce que je peux dire de son nom et des effets visibles en le changeant. Existe-t-il une documentation «Linux» officielle pour ce paramètre et sa description?

jwbensley
la source

Réponses:

6

d'après ma compréhension, le stipe_cache_size est le nombre d'entrées de bande dans le cache de bande. Les entrées de stripe varient d'un système à l'autre mais elles sont principalement contrôlées par la taille de la page (par défaut 4096 octets sur les systèmes linux) ( https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c # L73 , ce fichier a toute la logique du cache stripe si vous souhaitez creuser plus profondément) donc dans un RAID5 à 4 disques, un stripe_cache_size de 32768 vous coûtera 512 Mo de RAM. pour autant que je sache, cela n'affecte que raid5.

voici 2 références de documentation: - https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L603 - https://raid.wiki.kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking

c0m4
la source
1
Nombre d'entrées de quoi, votre réponse est un peu ambiguë? :)
jwbensley
Je suppose que cela s'applique également à RAID6, à droite
MrCalvin
Voulez-vous dire que 32768 coûtera 512 Ko de RAM?
jrwren